From patchwork Tue Jan 10 11:35:46 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhao Zhili X-Patchwork-Id: 39950 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:bc95:b0:ad:ade2:bfd2 with SMTP id fx21csp3609687pzb; Mon, 9 Jan 2023 19:36:06 -0800 (PST) X-Google-Smtp-Source: AMrXdXtFC27oQDBY6p707XTH59LXiIUPPAdOeeV0iTLTNznm5TJ4a9WAVYwlGhDII1oGFtP6ipi9 X-Received: by 2002:a05:6402:a56:b0:499:1ed2:6461 with SMTP id bt22-20020a0564020a5600b004991ed26461mr7175500edb.17.1673321766181; Mon, 09 Jan 2023 19:36:06 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673321766; cv=none; d=google.com; s=arc-20160816; b=DZMMsoqfOob0ia8MKbvAz1Iw/YwlZ3I1sKk2iQpNIOLVBpriGX+rIP3sWc/CHO7sF6 rTsunNUCuNrKgpp/gcUg3gYpeUhyVvVFva+q5IA6Wmnjfl/qGOWj2tKyzvqgQgiNPIKS RjVy4Hgfi2SxGE1gwPWNo7HViGiAjCwe51f+/fTfhg5BhMVkPn5MoShbdjhgKT7P08p1 8EVdrTp89Qh+Qgsp+Z5czx62D1n6rTl48S4oQ1nFOtF1ASiiJX83958BexfqZZz0ADe0 IahMkk3kik36pAY0peqbDYv8DAvPp8oFf9f59KrqShDMzu1BSK7YS+Nn9Bmelf8Vf44C 0tkw== 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=Yac1Jc8mYRl+rNDEz2TOBzy6wR/kXLrpOt7K4XPiEG0=; b=ieIlLvgx9Dnp7gay3SX8ToI1G4Y6H0RI8D7CQjqQKbCP/w5vI6j8nCV9fWWb+Z9VOX 345TO8V/8YxmlsTqrldBTNCAwFbyFyN9p7bJQEtpKpo4mrNBVDegdEtwdH+qvJPfFkSO YO+0cVz7/vkjfW1kZJIjeA2AKCDFlB5BKAl2U/Y6lYH8o28A9AcGdLTPRErtbOu/ZMxI T3z/bE0VNueeKd/pg9Ag05MxHfF94Y8x1xX/akgHhAwYsgV4ZXu2YRypPMrJJKI0Cl7/ Cp677Kb3+2LrihWhruoKBg7QHsKfpqXklvPU9U2cbSKeBrsb0OON7111R9Q972EEU+Ls UzIg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b=vkfZsKqU; 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 j8-20020aa7c0c8000000b0048ee88aa4d6si9177746edp.109.2023.01.09.19.36.05; Mon, 09 Jan 2023 19:36:06 -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=vkfZsKqU; 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 E9BD168BC3C; Tue, 10 Jan 2023 05:36:02 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from out162-62-57-49.mail.qq.com (out162-62-57-49.mail.qq.com [162.62.57.49]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5073F68B590 for ; Tue, 10 Jan 2023 05:35:54 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1673321746; bh=dh/CDszGA1BwHc3wMk1XGQGk0SVbVKKKpWsOltVdU1w=; h=From:To:Cc:Subject:Date; b=vkfZsKqU1G+sk5fjFiIxq++XPcizHd2apBSorzIeW0AXJHOdgYDjqkD2RA6NBVJPx GUhBfjgHbCTr7rBE5yaW+8kxUcubamhYiuFk2SiDQytLOutimw+2Ovv6EIGqDTD3J7 IDwKb/1bnfhHWSyUY/W+gATUneu/Z0b14W88JHI4= Received: from localhost.localdomain ([59.37.125.102]) by newxmesmtplogicsvrszb9-0.qq.com (NewEsmtp) with SMTP id 8ED1DAE8; Tue, 10 Jan 2023 11:35:45 +0800 X-QQ-mid: xmsmtpt1673321745ts65f2cas Message-ID: X-QQ-XMAILINFO: NFVZPzP5KASdvZJa9Xl5Hggc1StuCCHpYA5ho9H3c8k0gCr+2aSwyj0+ngx0Xl DFAv5X+TJgEYNX+JIxG1C+11Wo6nyqZq4cP63qv8VvDk5ryE6hsGrEUQ6Dai1nz45+MwN8YVh5e9 tOCRo94PCgGi3rMoQUbKzokGQdBrRqAm8S0F8u5pX3zk6U0hsKnBQ3FeI6uNbQc1xu/mRoxXhdTR kKaokcd8EQdp4uBGNnYw+qdEC+15gqRtnZH8Q/EixLYAIwVN5ldww9lVaM0M5OGkO0mhG3vX8Zx+ A7L3pR21xlzS9/wXf8JC0qonNxCJiHE0a8yoHzTq8butYXf/Jezf3rbbqQ93ssuow6Xx5lIyJMeO Cv1KH9bzWzLDTMTNoLyMqH450Srz+wjxAmWiC8Hcfa5hesSmGdruIjlVJ6my5Ihrbr8WrbbWacbR EZc+st0ZI2Hg/6xlqAUjZkevJ72YcmdVzJYWhADZ9BBccIINnTU68O7XIUbJIqJ6maaaLWshlkTG I3ydtF67vu4pYyCB9uWVtSp2Eb+xRznKWhvrWeBy+IUNFvmE0Fy0HEk/PiddSwClYvRUMCu5rDtZ tnq0K6DpFTYXTWKAbO0xfBduhxOCN4ir5MUYJ77U0ZfcLJP8Mqjy8OC+rOikSdj/BxgO3bCyemmh +c4KSPJTov5wSVM2xUBR6VtoWwk4kVJJSeXSybieW7Xeynm+5g61RNk0r4B3GKM5hW+5kpQ5o7pz YDQYfMcOfVkf9C0o890RSkV/5BblHhUA/X7D6tBkh9cUxngav+5Om2TQkiazuMzauMB1BD2i+B0C KgLAJ+XxQLxZjB0Jd1qiuvc7UFVBpSCWM5b1xCC/Fd23HoXRyIN511stR0ZwsZ5gBP56QMKuwm52 8CU4TkNW8aaBUIqaib5ehxEDJeaPRThTIbAS0xII5PUvwpfZfrWUpRqUfYcIWVh/qJVqJy6PGLvv TsnzfiRB9P39caFtFrJoh3ubFgdsXInR11lPPsLOa5yTG4YS5laDMZXjtN0tJL From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Tue, 10 Jan 2023 19:35:46 +0800 X-OQ-MSGID: <20230110113546.373057-1-quinkblack@foxmail.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v3 2/2] avcodec/mediacodecdec: check ff_Build_SDK_INT return value 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: R9/O0RD612V/ From: Zhao Zhili --- v3: when target API <= 24 ==> when target API < 24 v2: add comments libavcodec/mediacodecdec.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/libavcodec/mediacodecdec.c b/libavcodec/mediacodecdec.c index 11f655a9aa..21464900d1 100644 --- a/libavcodec/mediacodecdec.c +++ b/libavcodec/mediacodecdec.c @@ -415,7 +415,13 @@ static av_cold int mediacodec_decode_init(AVCodecContext *avctx) s->ctx->codec_name, ret); sdk_int = ff_Build_SDK_INT(avctx); - if (sdk_int <= 23 && + /* ff_Build_SDK_INT can fail when target API < 24 and JVM isn't available. + * If we don't check sdk_int > 0, the workaround might be enabled by + * mistake. + * JVM is required to make the workaround works reliably. On the other hand, + * missing a workaround should not be a serious issue, we do as best we can. + */ + if (sdk_int > 0 && sdk_int <= 23 && strcmp(s->ctx->codec_name, "OMX.amlogic.mpeg2.decoder.awesome") == 0) { av_log(avctx, AV_LOG_INFO, "Enabling workaround for %s on API=%d\n", s->ctx->codec_name, sdk_int);