From patchwork Sun Jul 21 22:47:55 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gnattu OC X-Patchwork-Id: 50669 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:a742:0:b0:482:c625:d099 with SMTP id f2csp1710543vqm; Sun, 21 Jul 2024 15:48:14 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCV0+wM2Zs1u1GgtdrzKIoWu7oQp42dIJoSBJuX5L8MGQngO6xT+AJngdqv8+cNY22A8zKwMMm8lSOCXO/9O3vQXU8WenKfo3zV41g== X-Google-Smtp-Source: AGHT+IEdfnIz4ZrZUqZL/W1XVHSTm6B2V3+84WGZquv9IjsAuudAm1lOZvFGStIsLJr9UBwaouLC X-Received: by 2002:a17:907:3dab:b0:a72:60e2:bdf with SMTP id a640c23a62f3a-a7a4c22636bmr361644366b.50.1721602094298; Sun, 21 Jul 2024 15:48:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1721602094; cv=none; d=google.com; s=arc-20160816; b=A/gft9aXmM9psgJ+E+dLpsP6ksBOj1mWjfgvK9wgpH8lwDwEEsaO7qbj8+4GRklojr v21Glqe73e6Iac90SkboCeZp1OgoBRaRXMIO3jlqrqBdGli3ZvStbWm2syVeSdSQPzq0 UIpcSWLh+zPta0c2Xgq09jmnCrdsbzidthJO0FlHmwKzJVM1MkgiP0EHf3LP8FcPyYGq tq6hzhB5RPz+c788aG/itDKlk90qaYFt/42kZtF0MCpsbJUWWxqPYnLQ52A6WGMthRZY oNYWWTmg37aKMLNYYzrf1YKCDe6OJnDYVFohxKCy10nvcHswFw9mvKhA2ijsURVu87HY Jl9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to:from :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:message-id:date:to :delivered-to; bh=u7uwZhhspz32TZkNpnpC4sDHrerSNZFRDzvYV1wJr6Q=; fh=2gWgGvVN03792RqC4MXCXsB/4cbAJUKJ5Jr7thIsQ3A=; b=s0tJkIRLfViVSNMoYGmTpvvIeGgSOUbw1NUWfL37HXym0NeITvoRsEGkVu2DMmW+TP sXOc5A1TXpK6SPMhdtkvjAzD90sMi6n+T4L/9PhNKm6rX/DXqvlyKnGOkMXz2vyqXDvH G/0kvtfGRLEK3S+v0lx1bsGmtVoyNWgwY/qq63D5JBazdbiDLWugxvBWUcS3MK17EfJH OlS4WKxuzpNGr3YdjMtg+CvY/dzYev9XWMD3plBPvaNxC+y5i2Jrq2JAQhuN3pIZeGMT byq7ggYKfxFRuBuXJerKyOKC8DVvaMAjVQqrc9sV+mjcRgSwkUdtiKSrm8/TFmftiRBx j7WA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id a640c23a62f3a-a7a3c99073bsi308868866b.973.2024.07.21.15.48.14; Sun, 21 Jul 2024 15:48:14 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B094D68D681; Mon, 22 Jul 2024 01:48:11 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mr85p00im-hyfv06011301.me.com (mr85p00im-hyfv06011301.me.com [17.58.23.184]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C34A168D58F for ; Mon, 22 Jul 2024 01:48:04 +0300 (EEST) Received: from Yakumo-Yukari.lan (mr38p00im-dlb-asmtp-mailmevip.me.com [17.57.152.18]) by mr85p00im-hyfv06011301.me.com (Postfix) with ESMTPSA id 42E26180C05C; Sun, 21 Jul 2024 22:48:01 +0000 (UTC) To: ffmpeg-devel@ffmpeg.org Date: Mon, 22 Jul 2024 06:47:55 +0800 Message-Id: <20240721224755.19964-1-gnattuoc@me.com> X-Mailer: git-send-email 2.39.3 (Apple Git-146) MIME-Version: 1.0 X-Proofpoint-ORIG-GUID: Oxj7FnU7oHydHhdLNERy2om_aTNyMtB- X-Proofpoint-GUID: Oxj7FnU7oHydHhdLNERy2om_aTNyMtB- X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1039,Hydra:6.0.680,FMLib:17.12.28.16 definitions=2024-07-21_20,2024-07-18_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 malwarescore=0 clxscore=1015 suspectscore=0 bulkscore=0 phishscore=0 spamscore=0 mlxlogscore=743 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2308100000 definitions=main-2407210180 X-Apple-Remote-Links: v=1;h=KCk=;charset=UTF-8 Subject: [FFmpeg-devel] [PATCH v2] avutil/hwcontext_videotoolbox: Check CVBufferCopyAttachments during configure X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: gnattu via ffmpeg-devel From: Gnattu OC Reply-To: FFmpeg development discussions and patches Cc: gnattu Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: Z3kUFlFQ8K/9 The __builtin_available function does not do compile time check for the availablity of the CVBufferCopyAttachments function which will fail the build. Check the availability during configure. Signed-off-by: Gnattu OC --- configure | 2 ++ libavutil/hwcontext_videotoolbox.c | 12 +++++------- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/configure b/configure index f6f5c29fea..54171dd4e5 100755 --- a/configure +++ b/configure @@ -2366,6 +2366,7 @@ SYSTEM_FUNCS=" clock_gettime closesocket CommandLineToArgvW + CVBufferCopyAttachments fcntl getaddrinfo getauxval @@ -6684,6 +6685,7 @@ enabled videotoolbox && { check_func_headers CoreVideo/CVImageBuffer.h kCVImageBufferColorPrimaries_ITU_R_2020 "-framework CoreVideo" check_func_headers CoreVideo/CVImageBuffer.h kCVImageBufferTransferFunction_ITU_R_2020 "-framework CoreVideo" check_func_headers CoreVideo/CVImageBuffer.h kCVImageBufferTransferFunction_SMPTE_ST_428_1 "-framework CoreVideo" + check_func_headers CoreVideo/CVBuffer.h CVBufferCopyAttachments "-framework CoreVideo" } enabled metal && test_cmd $metalcc -v || disable metal diff --git a/libavutil/hwcontext_videotoolbox.c b/libavutil/hwcontext_videotoolbox.c index ab7556936d..c55d478004 100644 --- a/libavutil/hwcontext_videotoolbox.c +++ b/libavutil/hwcontext_videotoolbox.c @@ -592,15 +592,13 @@ static int vt_pixbuf_set_colorspace(void *log_ctx, (TARGET_OS_IOS && __IPHONE_OS_VERSION_MAX_ALLOWED >= 100000) if (__builtin_available(macOS 10.8, iOS 10, *)) { CFDictionaryRef attachments = NULL; +#if HAVE_CVBUFFERCOPYATTACHMENTS if (__builtin_available(macOS 12.0, iOS 15.0, *)) attachments = CVBufferCopyAttachments(pixbuf, kCVAttachmentMode_ShouldPropagate); -#if (TARGET_OS_OSX && __MAC_OS_X_VERSION_MIN_REQUIRED <= 120000) || \ - (TARGET_OS_IOS && __IPHONE_OS_VERSION_MIN_REQUIRED <= 150000) - else { - CFDictionaryRef tmp = CVBufferGetAttachments(pixbuf, kCVAttachmentMode_ShouldPropagate); - if (tmp) - attachments = CFDictionaryCreateCopy(NULL, tmp); - } +#else + CFDictionaryRef tmp = CVBufferGetAttachments(pixbuf, kCVAttachmentMode_ShouldPropagate); + if (tmp) + attachments = CFDictionaryCreateCopy(NULL, tmp); #endif if (attachments) { colorspace = CVImageBufferCreateColorSpaceFromAttachments(attachments);