[FFmpeg-devel] [PATCH v3 2/2] avcodec/mediacodecdec: check ff_Build_SDK_INT return value
Tomas Härdin
git at haerdin.se
Tue Jan 10 15:37:38 EET 2023
tis 2023-01-10 klockan 19:35 +0800 skrev Zhao Zhili:
> From: Zhao Zhili <zhilizhao at tencent.com>
>
> ---
> 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);
Looks OK
/Tomas
More information about the ffmpeg-devel
mailing list