mirror of
https://github.com/opencv/opencv.git
synced 2026-07-27 06:13:05 +04:00
fda05a3622
imgcodecs: fix Apple conversions build without AVFoundation #29138 Fixes #28553. This PR fixes Apple imgcodecs conversion builds when AVFoundation is disabled or unavailable on older macOS SDKs. Changes: - Guard AVFoundation import with HAVE_AVFOUNDATION. - Use older macOS-compatible framework imports when ImageIO is unavailable. - Add __bridge compatibility for older Objective-C++ compilers. - Use NSMakeSize for older macOS instead of passing CGSize to NSImage API. Testing: - Not tested locally: no macOS environment available. - Patch follows the fix confirmed in #28555 discussion.
28 lines
935 B
Objective-C
28 lines
935 B
Objective-C
// This file is part of OpenCV project.
|
|
// It is subject to the license terms in the LICENSE file found in the top-level directory
|
|
// of this distribution and at http://opencv.org/license.html.
|
|
|
|
#ifndef OPENCV_IMGCODECS_APPLE_CONVERSIONS_H
|
|
#define OPENCV_IMGCODECS_APPLE_CONVERSIONS_H
|
|
|
|
#include "opencv2/core.hpp"
|
|
#import <Accelerate/Accelerate.h>
|
|
|
|
#include <TargetConditionals.h>
|
|
|
|
#ifdef HAVE_AVFOUNDATION
|
|
#import <AVFoundation/AVFoundation.h>
|
|
#endif
|
|
|
|
#if TARGET_OS_IPHONE || (defined(MAC_OS_X_VERSION_MAX_ALLOWED) && MAC_OS_X_VERSION_MAX_ALLOWED >= 1080)
|
|
#import <ImageIO/ImageIO.h>
|
|
#else
|
|
#import <ApplicationServices/ApplicationServices.h>
|
|
#import <CoreFoundation/CoreFoundation.h>
|
|
#import <Foundation/Foundation.h>
|
|
#endif
|
|
|
|
CV_EXPORTS CGImageRef MatToCGImage(const cv::Mat& image) CF_RETURNS_RETAINED;
|
|
CV_EXPORTS void CGImageToMat(const CGImageRef image, cv::Mat& m, bool alphaExist);
|
|
|
|
#endif // OPENCV_IMGCODECS_APPLE_CONVERSIONS_H |