From patchwork Sun Oct 31 11:44:10 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 31264 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a5e:a610:0:0:0:0:0 with SMTP id q16csp1556883ioi; Sun, 31 Oct 2021 04:45:09 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxROPx72Tx0de/9qJXwnQLiM0pnqNXGO+BcUnaYMh3qB1DSycpkhkcJgFK/e7g/OE8tMVh6 X-Received: by 2002:a17:907:6e16:: with SMTP id sd22mr15560674ejc.542.1635680708907; Sun, 31 Oct 2021 04:45:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1635680708; cv=none; d=google.com; s=arc-20160816; b=RQR/P7BrENinHHUxc8Il4XjzQ8Fvgf/Pah7RU/umXs5zU7yPEfaimo/R2FXwG70ZdO V0LjYKI33B+X4K3RlgPeXZ7Ge8wYPs/mBzjRCRWxEFxsoEaTozwwwreIMEnJidrmqmz6 nRXIOwMHCw6OiQ5se/lVQw1LKqYvYM6kbfIBMOAJ25Gc8wOjcYinqZiJM87nobNEd3g+ eZcssZboQoZ5KEms1IB/jJA7Cj2ppP+JdSXs1/k5oOiZZo1Rxn81dMssqcZlC5Binj2l QKb1sDxtZ1h19GY/R65lbJsOzgilG4w8rCRlgv+fcr0AWOw8TmFvj0XydU/tEwf3rHDx L72g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:dkim-signature:delivered-to; bh=CX6oD6gYsDuYhs+vApJi5gHbdOoiGxW7+DLnqxcIiyg=; b=H3PL4rd2xtuePiEFiTs9ItU65rEchf1+YkCibTV7/2tcNajFxsw6w9/C4HyrflHcRv /UrCxB/dMvQ9TwVixiP6DEHXTq9cd+q2mPS71HEUFMFRzIdbqB5GfMG5miba8unK1ja9 8LqJRT+AKSIK9VLCBGUGVhWqkPFB7WIfAdkwVvZoABG938wM8YLCFRZNnb3CPhmf5Itp cqj45osDCQp/sntkCje3sfeRH79C7mhRjDm3ts6k+nRdzD0gX1ePUtuPBIsFqfElalj9 Iz3cMk8XK96EhKamQFVKxmcyd1qGVr627ibDNW4no/jmxSjAxkALjYFVaMbnNDdgcxM8 CeKQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=fRvFXjBs; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id dp11si20486209ejc.3.2021.10.31.04.45.08; Sun, 31 Oct 2021 04:45:08 -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; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=fRvFXjBs; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 423F268A82F; Sun, 31 Oct 2021 13:45:04 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pg1-f174.google.com (mail-pg1-f174.google.com [209.85.215.174]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 265BE688175 for ; Sun, 31 Oct 2021 13:44:58 +0200 (EET) Received: by mail-pg1-f174.google.com with SMTP id f5so14556646pgc.12 for ; Sun, 31 Oct 2021 04:44:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=z/efvidXFTmgeSuBcbDf1Cv6blLAhUHBMG6CJ61LqPI=; b=fRvFXjBsZH52LjPRWxTTHyfFZS8+jq03qI/KJxYm/6rrU/Gp4PQ0xCpe6PB3HEbLkR xj854sqf5qxL6zU2KlyuUun4sYtnf49k+FFoEh1XLZrN8YtnXlfO2vTsqp4duM1esTMy Ac3jnaSAJc2f+UHDK4m2l7Dc5GNXJ5TbGTVJvZ5VV0pqqversRBn5VaO/0vglm992p3S Ig1EgzRvYKHeZijKjveMUTgLD8cH4ZMZj9q64n9bgdPS+w6SOOyk+HPQQGjU4CtnngWU 4l9vxeMr/mHCtP6dTn9Q/zXvH4SGMM1u9OAEfoKNd2ojG9wEmVrCYRTe0y0AUHOXIyD/ 1xpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=z/efvidXFTmgeSuBcbDf1Cv6blLAhUHBMG6CJ61LqPI=; b=GaFiNgJ6b4VT7sZV+Aou/4MZaaGZ5GG67C0jcaczWqYXYZPiVMBiNtoOTt0vOc+Y60 9xeYpRv5USwemal+odiTynqZUu3N4QEhalkV1MEVHri4bA6VTJ7seqeO3BbZERTziCOa GeLC+Vczts8tj76uRvfzkNCc2PMF6EfVNgqQoqSdKEEG6LZBPvn77/sLU/Xq5r4AIpe1 TcNLw8a2+fDVkTPWHCR/6E6nAefFIxj2NsJm8ejzZEQwxPke3Dz8T9gz93EDEAkTTu3i f+Z25JugeZfPVg0/EUQAWQoKCyi5vsbWTta/q5UIo7vpiXpYtjGSeU6aEdxeEo0yDUXH s0Dw== X-Gm-Message-State: AOAM531Ky5rB5lS4rhgh9EkEuJONfG7o8sukYHifuip2bsMT3Sy+Nh7T ggg06dlsFOvqhosUmJ1Q/uSvLFGcfgo= X-Received: by 2002:a05:6a00:15c6:b0:480:170c:6897 with SMTP id o6-20020a056a0015c600b00480170c6897mr9879918pfu.50.1635680695974; Sun, 31 Oct 2021 04:44:55 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id h12sm12681707pfv.117.2021.10.31.04.44.54 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 31 Oct 2021 04:44:55 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Sun, 31 Oct 2021 19:44:10 +0800 Message-Id: <1635680650-1402-1-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1634655149-14972-2-git-send-email-lance.lmwang@gmail.com> References: <1634655149-14972-2-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v2] avutil/hwcontext_videotoolbox: fix use of unknown builtin '__builtin_available' 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: , Reply-To: FFmpeg development discussions and patches Cc: Limin Wang MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 00kUQpoX8plM From: Limin Wang OSX version: 10.11.6 Apple LLVM version 8.0.0 (clang-800.0.42.1) Target: x86_64-apple-darwin15.6.0 Signed-off-by: Limin Wang --- configure | 8 ++++++ libavutil/hwcontext_videotoolbox.c | 54 +++++++++++++++++++++----------------- 2 files changed, 38 insertions(+), 24 deletions(-) diff --git a/configure b/configure index ede8f97..c4fb1b7 100755 --- a/configure +++ b/configure @@ -2329,6 +2329,10 @@ TYPES_LIST=" kCVImageBufferTransferFunction_SMPTE_ST_2084_PQ kCVImageBufferTransferFunction_ITU_R_2100_HLG kCVImageBufferTransferFunction_Linear + kCVImageBufferYCbCrMatrix_ITU_R_2020 + kCVImageBufferColorPrimaries_ITU_R_2020 + kCVImageBufferTransferFunction_ITU_R_2020 + kCVImageBufferTransferFunction_SMPTE_ST_428_1 socklen_t struct_addrinfo struct_group_source_req @@ -6273,6 +6277,10 @@ enabled videotoolbox && { check_func_headers CoreVideo/CVImageBuffer.h kCVImageBufferTransferFunction_SMPTE_ST_2084_PQ "-framework CoreVideo" check_func_headers CoreVideo/CVImageBuffer.h kCVImageBufferTransferFunction_ITU_R_2100_HLG "-framework CoreVideo" check_func_headers CoreVideo/CVImageBuffer.h kCVImageBufferTransferFunction_Linear "-framework CoreVideo" + check_func_headers CoreVideo/CVImageBuffer.h kCVImageBufferYCbCrMatrix_ITU_R_2020 "-framework CoreVideo" + 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_struct "sys/time.h sys/resource.h" "struct rusage" ru_maxrss diff --git a/libavutil/hwcontext_videotoolbox.c b/libavutil/hwcontext_videotoolbox.c index 58095a1..25f4e17 100644 --- a/libavutil/hwcontext_videotoolbox.c +++ b/libavutil/hwcontext_videotoolbox.c @@ -375,10 +375,11 @@ static int vt_pixbuf_set_colorspace(AVHWFramesContext *hwfc, switch (src->colorspace) { case AVCOL_SPC_BT2020_CL: case AVCOL_SPC_BT2020_NCL: - if (__builtin_available(macOS 10.11, *)) - colormatrix = kCVImageBufferYCbCrMatrix_ITU_R_2020; - else - colormatrix = CFSTR("ITU_R_2020"); +#if HAVE_KCVIMAGEBUFFERYCBCRMATRIX_ITU_R_2020 + colormatrix = kCVImageBufferYCbCrMatrix_ITU_R_2020; +#else + colormatrix = CFSTR("ITU_R_2020"); +#endif break; case AVCOL_SPC_BT470BG: case AVCOL_SPC_SMPTE170M: @@ -398,10 +399,11 @@ static int vt_pixbuf_set_colorspace(AVHWFramesContext *hwfc, switch (src->color_primaries) { case AVCOL_PRI_BT2020: - if (__builtin_available(macOS 10.11, *)) - colorpri = kCVImageBufferColorPrimaries_ITU_R_2020; - else - colorpri = CFSTR("ITU_R_2020"); +#if HAVE_KCVIMAGEBUFFERCOLORPRIMARIES_ITU_R_2020 + colorpri = kCVImageBufferColorPrimaries_ITU_R_2020; +#else + colorpri = CFSTR("ITU_R_2020"); +#endif break; case AVCOL_PRI_BT709: colorpri = kCVImageBufferColorPrimaries_ITU_R_709_2; @@ -420,17 +422,19 @@ static int vt_pixbuf_set_colorspace(AVHWFramesContext *hwfc, switch (src->color_trc) { case AVCOL_TRC_SMPTE2084: - if (__builtin_available(macOS 10.13, *)) - colortrc = kCVImageBufferTransferFunction_SMPTE_ST_2084_PQ; - else - colortrc = CFSTR("SMPTE_ST_2084_PQ"); +#if HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_SMPTE_ST_2084_PQ + colortrc = kCVImageBufferTransferFunction_SMPTE_ST_2084_PQ; +#else + colortrc = CFSTR("SMPTE_ST_2084_PQ"); +#endif break; case AVCOL_TRC_BT2020_10: case AVCOL_TRC_BT2020_12: - if (__builtin_available(macOS 10.11, *)) - colortrc = kCVImageBufferTransferFunction_ITU_R_2020; - else - colortrc = CFSTR("ITU_R_2020"); +#if HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_ITU_R_2020 + colortrc = kCVImageBufferTransferFunction_ITU_R_2020; +#else + colortrc = CFSTR("ITU_R_2020"); +#endif break; case AVCOL_TRC_BT709: colortrc = kCVImageBufferTransferFunction_ITU_R_709_2; @@ -439,16 +443,18 @@ static int vt_pixbuf_set_colorspace(AVHWFramesContext *hwfc, colortrc = kCVImageBufferTransferFunction_SMPTE_240M_1995; break; case AVCOL_TRC_SMPTE428: - if (__builtin_available(macOS 10.12, *)) - colortrc = kCVImageBufferTransferFunction_SMPTE_ST_428_1; - else - colortrc = CFSTR("SMPTE_ST_428_1"); +#if HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_SMPTE_ST_428_1 + colortrc = kCVImageBufferTransferFunction_SMPTE_ST_428_1; +#else + colortrc = CFSTR("SMPTE_ST_428_1"); +#endif break; case AVCOL_TRC_ARIB_STD_B67: - if (__builtin_available(macOS 10.13, *)) - colortrc = kCVImageBufferTransferFunction_ITU_R_2100_HLG; - else - colortrc = CFSTR("ITU_R_2100_HLG"); +#if HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_ITU_R_2100_HLG + colortrc = kCVImageBufferTransferFunction_ITU_R_2100_HLG; +#else + colortrc = CFSTR("ITU_R_2100_HLG"); +#endif break; case AVCOL_TRC_GAMMA22: gamma = 2.2;