From patchwork Mon Jan 9 16:36:39 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhao Zhili X-Patchwork-Id: 39937 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:bc95:b0:ad:ade2:bfd2 with SMTP id fx21csp2922359pzb; Mon, 9 Jan 2023 00:37:01 -0800 (PST) X-Google-Smtp-Source: AMrXdXujZ8VD6+o2T8H/4zO13i3+FjNZNKJYO2hG5h84Qv+c/j2tWa7dmxszY4nPtM4HgCFKPU2F X-Received: by 2002:a05:6402:2072:b0:487:6d4a:444c with SMTP id bd18-20020a056402207200b004876d4a444cmr36226158edb.28.1673253421705; Mon, 09 Jan 2023 00:37:01 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673253421; cv=none; d=google.com; s=arc-20160816; b=Yv4O9LCorszsMK+6ZBE+9IT3Ry9gRVl8eM9qpRuIDd9fGaSF2peOMPRoKY/MpmGUdn ko4dVyHA7VBOdENYszzFfn70W7yfUCNwTr2hKuepERw9TrjvHg1QPbqEVVbw5T4CTZbR /G6joogksKj0nKgb7nnVw0CWSFnPcafbOexMvd8zLLhyOQSIXVAZ/gXasKE7/bHl2Vib KA8VxXEi+fX/gNXJRZrJvEL/LbuMVJHt/09kAhcIHgT/VSRqE8EfBZhRzTFmVOBrQqqc PDw8I0sl7wC1A5e9/B5w99zInEa0QN4JXM3AUBszxi0hDVhc7XwieMqcECiB5My9zvjp Q0JA== 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 :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:date:to:from:message-id :dkim-signature:delivered-to; bh=6KiaBE2Z/zwIj8hgpli+5M1DIV1awUDCphbFDR00Jmo=; b=fp5Ca0hJ111ZiRDNGNNhBHBlq0SNk8uxBHoJ5mKA8LiXx4RqrGjpcJuqnJr5/EERMc wrmfRBhFlT76TOsu6ommQid8yVZESygvsVH1v2vuIFf4A72G1SEunbkpXOR3pKjDE8Fi tPJXjvjdf8C3FbQQa44hJDWNB2fFHPZ9MgF1Q7Dag5GJPrEHI7DcQlqO8jgWVjYQuS7/ U7uA2YQHleQoDizp5k05HJUn1/LQYwsY/BP36w23nbhv9IMT0nWCTBpoRy04qFHXU/6g w6Y1uiSGXFwL1JveL5zEOrWxsxihyfIwlo0IhJ5ibzEltQLaqvmXn5kc7nUTwTPRXu0R MMTQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b=b14Je95V; 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=NONE dis=NONE) header.from=foxmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id v18-20020aa7d652000000b004992c445fdbsi4128369edr.80.2023.01.09.00.36.57; Mon, 09 Jan 2023 00:37:01 -0800 (PST) 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=@foxmail.com header.s=s201512 header.b=b14Je95V; 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=NONE dis=NONE) header.from=foxmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5323568BC19; Mon, 9 Jan 2023 10:36:53 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from out203-205-251-82.mail.qq.com (out203-205-251-82.mail.qq.com [203.205.251.82]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 93E9968B8B9 for ; Mon, 9 Jan 2023 10:36:44 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1673253400; bh=6Bp7Xud1598HvhuXhn/stR/1ijmetcl80QJUFtshiQU=; h=From:To:Cc:Subject:Date; b=b14Je95V5R6m9QL8S9FQVNv6B9z4KoqmdWtw4ZdwkdX8krOUvae47yl4SeYpKI/A4 +YHJmLpPvz9L4dVtCesT7QfDi1uEuYdbZ259FsPeoDC2/DU/feFTDbxAxc8AtseKSV kASzV/t3lJMkGxQoMQ/f3s9T5+0WNfeBnExUfCLY= Received: from localhost.localdomain ([59.37.125.102]) by newxmesmtplogicsvrszb1-0.qq.com (NewEsmtp) with SMTP id 927AC0DD; Mon, 09 Jan 2023 16:36:39 +0800 X-QQ-mid: xmsmtpt1673253399tpgnpgkqz Message-ID: X-QQ-XMAILINFO: N26DAMVpW7UEPrxRPJ+lAZzm/d5khPbZMiX5fyao+YPkaLBha+xmnbxpMv7rvB 3NKBP+wJcMIfXg+MTVem0+GPR+ORFdyBB8bpkYkLhsYqIco/tMnaWB0+RUcbtBvLlEqO05rcQFed CWGuIRal6A1pWv/EN4Ln7zrFoJ2fMBf4mZNjIGzABcdAjod7pNx6fAkgrWEi9MyEs2oUjq6UbKx7 w1CcakMSpWYG8s0FqN2/4IkVUy88sKJSGzuxqwg9IwmWKnITJIXkRgq+dndmZG1tBJGsfbPL7uZt 3Jg+Do8VQvR6x2ahh513uqdQUiHPHO+7gY19oDI5uyxlsFhw/pMvMA5UeDlp2vfL12eGvbEiqwhZ x//i9qlXxSMQ8OCZD4BbaZAZWV/2saGl/GJOvYtPIky33HkTEBOapy9mvtxAti7X1D6U93UbmbnR 4pLAiM/b8x+K+wVSWA4O8b+KaEO8e/PL/BE8Ua9VINw6KaFGTavlq/tCzBG20UuMndlbf9a6sBAV zi8yugb7cq5M1kb78Lgqkf8LTpXE+r10wAYTQ39SXeyuTO1ZeeDoyPgGw36bOcMU2sEGFJLEyrHp lBquWFHFEg4I69bvYBDDizRFXqFbD1+ts3DzTZbf4fE09zWOpr6ZjsbzReNRAGAJHPwi0axyZOuy 1mYST1lEu3hE9PQAQRShv5tn/FRbxMCpZuHS9g/Hzp7mHLb1iF6NYumhUKGFkltOT3Xnj+lpDGnv 5o3A1W06WiBcjWsVlWGKiiqBYCtvF9m5tILZAs1qQAYNF7rrs34+N2VDOBVTNzd4EYBmp0EIopgH z+Pb95T5DAk9I+AH4v9mGpSrrlMpjgkjyy4HqDfHXsg7v0qI8UqAjlJM/Z/cFoYFUdM6zRF6Roqi cRrOt4P5ihv8DexHnN2OAuyIDRVBOhWMi342k6DkM0JUpfHtYM+/H712DrDZHzJSfO3Mjgm+5Tdh D2mCeHCGd4pNFywcgF720HC4pv5bYDTq8TKFfT3u8= From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Tue, 10 Jan 2023 00:36:39 +0800 X-OQ-MSGID: <20230109163640.343220-1-quinkblack@foxmail.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/2] avcodec/mediacodec_wrapper: get api level via NDK method 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: Zhao Zhili Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: q5ryR3BCwqkK From: Zhao Zhili android_get_device_api_level() is a static inline method before API level 29. It was implemented via __system_property_get(). We can do the same thing, but I don't want to mess up with __system_property_get. Signed-off-by: Zhao Zhili --- libavcodec/mediacodec_wrapper.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/libavcodec/mediacodec_wrapper.c b/libavcodec/mediacodec_wrapper.c index 4d6e9487b8..b675623a0b 100644 --- a/libavcodec/mediacodec_wrapper.c +++ b/libavcodec/mediacodec_wrapper.c @@ -2513,6 +2513,10 @@ FFAMediaCodec* ff_AMediaCodec_createEncoderByType(const char *mime_type, int ndk int ff_Build_SDK_INT(AVCodecContext *avctx) { int ret = -1; + +#if __ANDROID_API__ >= 24 + ret = android_get_device_api_level(); +#else JNIEnv *env = NULL; jclass versionClass; jfieldID sdkIntFieldID; @@ -2522,5 +2526,8 @@ int ff_Build_SDK_INT(AVCodecContext *avctx) sdkIntFieldID = (*env)->GetStaticFieldID(env, versionClass, "SDK_INT", "I"); ret = (*env)->GetStaticIntField(env, versionClass, sdkIntFieldID); (*env)->DeleteLocalRef(env, versionClass); +#endif + av_log(avctx, AV_LOG_DEBUG, "device api level %d\n", ret); + return ret; }