diff mbox

[FFmpeg-devel] avcodec/mediacodec_wrapper: fix false positives in swdec blacklist

Message ID DB3PR0202MB345270A8C40495576580FCDAECD90@DB3PR0202MB3452.eurprd02.prod.outlook.com
State New
Headers show

Commit Message

sfan5 March 6, 2018, 10:19 p.m. UTC
Hi,

attached patch fixes an issue with the previous mediacodec patch.

Comments

Jan Ekström March 6, 2018, 11:35 p.m. UTC | #1
On Wed, Mar 7, 2018 at 12:19 AM, Stefan _ <sfan5@live.de> wrote:
> Hi,
>
> attached patch fixes an issue with the previous mediacodec patch.
>

LGTM.

`strstr(name, "OMX.SEC") && strstr(name, ".sw.")`

..will most likely have less false positives as OMX.SEC seems to be
utilized for HW decoders on some Exynos SoCs.

Jan
Matthieu Bouron March 7, 2018, 12:59 p.m. UTC | #2
On Wed, Mar 07, 2018 at 01:35:20AM +0200, Jan Ekström wrote:
> On Wed, Mar 7, 2018 at 12:19 AM, Stefan _ <sfan5@live.de> wrote:
> > Hi,
> >
> > attached patch fixes an issue with the previous mediacodec patch.
> >
> 
> LGTM.
> 
> `strstr(name, "OMX.SEC") && strstr(name, ".sw.")`
> 
> ..will most likely have less false positives as OMX.SEC seems to be
> utilized for HW decoders on some Exynos SoCs.

Patch applied.

Thanks,
diff mbox

Patch

From b6a8721679483900b4f824504fdb1f7944ec268f Mon Sep 17 00:00:00 2001
From: sfan5 <sfan5@live.de>
Date: Tue, 6 Mar 2018 23:14:09 +0100
Subject: [PATCH] avcodec/mediacodec_wrapper: fix false positives in swdec
 blacklist

'OMX.SEC.avc.dec' is a valid hardware decoder, while the decoders
we seek to blacklist all match 'OMX.SEC.*.sw.dec'.
---
 libavcodec/mediacodec_wrapper.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/mediacodec_wrapper.c b/libavcodec/mediacodec_wrapper.c
index 8381128..11d7f66 100644
--- a/libavcodec/mediacodec_wrapper.c
+++ b/libavcodec/mediacodec_wrapper.c
@@ -473,7 +473,7 @@  char *ff_AMediaCodecList_getCodecNameByType(const char *mime, int profile, int e
                 if (
                     strstr(name, "OMX.google") ||
                     strstr(name, "OMX.ffmpeg") ||
-                    strstr(name, "OMX.SEC") ||
+                    (strstr(name, "OMX.SEC") && strstr(name, ".sw.")) ||
                     !strcmp(name, "OMX.qcom.video.decoder.hevcswvdec")) {
                     av_freep(&name);
                     goto done_with_type;
-- 
2.16.2