From patchwork Tue Aug 29 07:49:06 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ting Hu X-Patchwork-Id: 43390 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:3822:b0:149:dfde:5c0a with SMTP id p34csp642937pzf; Tue, 29 Aug 2023 00:51:49 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEisiI8ZIaWHNR8HbpFKABJuJVvufdHQFT2yXUQeaqDbZZ2WkU0qZrPjm2S+kh9IH9kcUZ5 X-Received: by 2002:a17:907:b609:b0:9a1:b144:30f4 with SMTP id vl9-20020a170907b60900b009a1b14430f4mr1986195ejc.14.1693295509393; Tue, 29 Aug 2023 00:51:49 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id b22-20020a170906039600b0099cc15f09a1si5734961eja.118.2023.08.29.00.51.48; Tue, 29 Aug 2023 00:51:49 -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=@hotmail.com header.s=selector1 header.b=fpN2asmE; arc=fail (body hash mismatch); 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 097F76807D9; Tue, 29 Aug 2023 10:51:45 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from JPN01-OS0-obe.outbound.protection.outlook.com (mail-os0jpn01olkn2055.outbound.protection.outlook.com [40.92.98.55]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D012F6807D9 for ; Tue, 29 Aug 2023 10:51:37 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Lv7gitBqYnBrWocVvvEzf+dtESSNU8TrMawokcDkghc+wMcj7MeD+KT8ALP/OQI2/KHBBySmrkiRtETPrjCByE2ZN6Z3QZIq83nOdh8xwMltweNWUwp3PKbiqYiyiMHoCEHH+Eq5KJzsX1/SmFjjdrLl12VlsFKoyGknFiBUd9eT3ZtoddDgpTeX1Yi/VDJ3iP6SDiFZAN9TCCpPGVRKyzc+ebHxWALdMtfGgt0/OPmnTyu5JJI+/0E8nDGwZvjCJw+kmFuZlt/Jc6TJyuyLWuIxTeZIHvg47hszgFjO/8UtJlS8tLDuFfdnwlDI0cwaSNfEn4LpzHUOmhjT3oAA+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=liq8U6W5eHCo9Er3R/N+gxvH6t3/KUtNowBRd5v/p+c=; b=h0HOdgy4dIuLjbT7kiq7LgqutzdQIqZtz5189fmU6Z4qY0BfbhVHiyKW5ibtsmsjxkX2NS7rPT7MNJ4BjqH3m2JA0QMFSBUj3Fuzfn/lt0AZ7QErsKExZGODE1Maq6T3YBtzqGgzgeC2ivDe7JCdbQTbjqJOhQ+1g6W0573cAmxdrI4wFqtPGkWo7plpR1dzn6Jrq+YjLlCp7OPMNwV6RrekaXvDSYb81rn1GhB9V1AHfyG1ew/YNUb8Y2FplzeAxIx724jVXtRrqiYyuwzlvWNWih2whtpUH+0dpYpTp4qqfrrM9MRJwTrszqS6pez73q+r7oQoA+8XgT592M6aPg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=liq8U6W5eHCo9Er3R/N+gxvH6t3/KUtNowBRd5v/p+c=; b=fpN2asmEPwY9Bvlee5KcOzmNO+UUioqRZ2dG4sk4i1mIe6mSZzJ8C9xhOGRbOREkCF3xG9Ddc44tqUNftmsU42FixBbJSviXB7wH0h/mbF3B2b3Wn7fj4ri9PRHzYqcH05fHZZ+npFopsWQRVtkXgQUABNkaob3TQ3tPfJmNzrIgOolb92Sok2q45pPAB05tU8GEMsNFF4ojhhanFRzIU26Kyw+VNs7nUZnl5jLGsJfflXOlftwwUz+zkbDcVkwDHkpwzrJILPrKwHJH07t9rMHV7aA22cC7bzbL17mt4MAWefNlil4+nbkve+fWlV1nnmHnypLGE0IVQZCO1Nl9cQ== Received: from OSZP286MB2142.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:183::10) by TYWP286MB2467.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:169::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.18; Tue, 29 Aug 2023 07:51:32 +0000 Received: from OSZP286MB2142.JPNP286.PROD.OUTLOOK.COM ([fe80::b375:f4c:f02:2aaf]) by OSZP286MB2142.JPNP286.PROD.OUTLOOK.COM ([fe80::b375:f4c:f02:2aaf%7]) with mapi id 15.20.6745.015; Tue, 29 Aug 2023 07:51:32 +0000 From: Ting Hu To: ffmpeg-devel@ffmpeg.org Date: Tue, 29 Aug 2023 15:49:06 +0800 Message-ID: X-Mailer: git-send-email 2.38.1 X-TMN: [B+SY9eZ23snHeGABhtvHA09/rEWEkJxV] X-ClientProxiedBy: SG2P153CA0007.APCP153.PROD.OUTLOOK.COM (2603:1096::17) To OSZP286MB2142.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:183::10) X-Microsoft-Original-Message-ID: <20230829074906.9345-1-siriushu@hotmail.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OSZP286MB2142:EE_|TYWP286MB2467:EE_ X-MS-Office365-Filtering-Correlation-Id: 76d2eed7-d68a-459f-cd34-08dba864c28b X-MS-Exchange-SLBlob-MailProps: dx7TrgQSB6fhWMPKprzf5aUwsORUVk5rItOzO9VERmm3yn6Clgk2SjZtgF4fZ0qYXBqj/YJ5ECjOz2oHJ9vAHvJMRXj1OV1MM7GTjwB92GkiacXJbmylP3KBc1/aGN3JsfJ2rZO2o8qMollnqm5N3wrX5jjmngrloabna23NOJ6/BDYQ8AYmPaFqPVN5+SxAJT1iZPYct2AZVYoGr6oMpVizpshtHP1RBJEjBK3Nk8GdIQQAgqjRHkmOxuZrloiANXQx52N8Plo8SBgo7CIbnIwABMFmgC1SWQomqBZy+ZajM/wlQ50W4M0gDqwetSwGDS69TRXYxwVssmnJD82hPtJR2hUau+tmY2ROinEsitfgAAqpMR5eECSiUfxkT0t2kU73i51U0GLqKy89T0WL4H+kVqS0hC0Bpw93hLyd32zQF7oA7ZboCUpPBT4c+Juq2twJM+CqfN0hj3YYUfpEqs2x5S2MWolhkmZb7LNpMMp70MKbqZJnVeDoyHrvWb2I49lMS3VDVtsjUL8F/VDecQUQsMqbJxQuIN3P/AhL2ft2S3v5cfYIoHZpjDRGr70nKzONQ4mE0peq+ABwGa9rBIUu7o+0qsMgrMYVZeY2J1BEeRj0wfMPPs4leFZEBszLhhmaYBA1eyy6TEqz4uYuIryz9F8KSYjagRGUZU97NX6WIhbpKXlg6xv2KI1sSqdBIN4aOLpvjhHdmnglCKkiUpeEmO8d84yQxHp34k9zThoBp+S9Lz06rbJdEmd5SElNL/ocT6p62YU= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 91Mww14vRRAkBxY+KyiB6RLBExMbKCZKGfngYBzY4tQBzzi+vYV8X3QeCKEOCS6fSe/gmY/Xoin/roPZGZuy7AV0cWi6+HZzhYMB0tIMFBGbKUxIOPGdLpG/N1aa+NU8QVFLrM1VLPIKaTDvspfbPfd/NUrVSW7gE6ugweG+PxDJ+Gir3zXQUgO6qh7QVIXhR0fMCHR68nzdj9hHJXhwp4mpzcUqqJQzbmUEcd0uHHQjN/c0IzW/G8dDH31/I98KAQ4u2RWXrxAyD+8mYi/vZgcO6Rb7Iy/VdbJD8zTXAVpr6BzpenOLwWXN8jqYIXEPNQs+ISolPhuSlu1tAyiMpnRnteNzSgawmLPVVEZLQrDEkQXUKgDjPMW+tCf6XveKB0M3YP+vbj07oMASYk++899EcMzD2PaOnOPWlACrOSRG89vxq/CAxkPf6Ilu8K0SV0LWnXDn2SGfzcSwDEFbXSB5rG8fqsjfFA3veyMHuL8CJ84tiT7LgHhzE/86TQCx6btPgMu43VrlODVF1Lnl+anR+uAqpCJ/0eYHx0vPzbshVSKQvly/K28MefgVdVjtu8wHC7cel1HcOCXjY7iNHl3rjkbTM4JsWHozuGYeEDjcARx6MqJF5nxvQbCUXaLv X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: VGNgT0iOMQ6tpX8UBzxZAq8xfgyaHqlStkglfLkZ22l6Q8Xw9sx3uKOHSivfD6+zBRub8t4dcxvmFANhxYaIoHW1XLsgN+ETVheUU9cJ9weNLVsL7QGcMQ90qJLotOVFa1cn8VJtDWm+T207oLc091M1picwRatzdt0hcQmSNc/RpPOFlLilbsGNri78sNGqgMGMWuNicBAW2yV7VRT9X5GJgAD7Jencoq7gtOo5vgKkyRoyQAPn943vGQKRVR08rURyqXJUgNRvRC/jhHblePprL2nWi94QA27WcJQPmO7rQhm3hGCfnAxdVfKS9iNDBrkoKQtmSoNBt8tQhqfDpgbalV/8cMu27DFyK0mKyPOH6gsWlTFWUDauW9FJYpjPXCj5e/BzogART/ek0mcISugyyx5Qle+QydbxxIWo2NmnXtmh6Hp2Su4tcFSfCvDShxkyDMmWw3LwqbeGpjk71pFRp+5qdlrvXK9Gbtr5hNh5jgm+lSC+2Jr5uzFaECH8a7afHYpJx2prwQSp7TETtcD254CHBh4K4goXoyKeX06qTvMgkYidLoG/lcIgTtW0p+nYYu7UD0cIpKWsnjgJYGLa71vl0b8EqfZZiBazBiIyZxPWi5JhzxID3XVmhEUGjxyIO529uPTv6mTU3pK0IMzxvoTN257dpZcTMthZ6N4qZS4sfS5L37uuZnKl7jnTX+9g3wWyFr5WoNyGDMORJZ1pxpzv98w3yRtv0YHCryUuBwLGjVbqkmGLYvZuq/5y9CRPvK6Ivyyxp0S925usUTS7BXf5Tsvdm7xXyy9gMQDXJZDEgEN66WkPF65KCDp0VTp6Z7TyvWDQZrj7JzfL60qnJhqVChyEOTz47VE6NE+9yuxhPG6doJUu+zkewRa23rXFtVI0YlaipQJPECqddrf9RSOzm5nHeTEObsnyhTBXbZyKTr5lMTMsuLcifYxErui1LDlvie7ZoioXZ/yhbkj3T0Wh5QBBU/hN8DDMS4H2MDneSY8JdaXKBmSjZv2xvcIs4PDXnAecMbsGWds4jSDz3xi5CXwFzBGf7smk5pRVd/DIzTa8urNjLlRMN5Jwuc67XMvPlUKN9MO6uTWmwLu9Lyb1sHRStzKycpCGX15U7aBRsEVrANbN1qqZNbT2yXsrc2wvHftfhVKG+sOMzEOyPUpqW51BfJ176JjsD/ORryriPlMfuyAPsYaC+h/7RMQ904GAUHkJvSl8LEnRzQ== X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-05f45.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 76d2eed7-d68a-459f-cd34-08dba864c28b X-MS-Exchange-CrossTenant-AuthSource: OSZP286MB2142.JPNP286.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2023 07:51:32.3368 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYWP286MB2467 Subject: [FFmpeg-devel] [PATCH v2 1/1] lavc/qsvdec: fix dead loop of qsv decoding 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: tinghu3 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: emWRCCgqza/3 From: tinghu3 MFXVideoDECODE_DecodeFrameAsync always return MFX_WRN_DEVICE_BUSY in special scenario. Signed-off-by: tinghu3 --- libavcodec/qsvdec.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/libavcodec/qsvdec.c b/libavcodec/qsvdec.c index da700f25e9..6286612ce6 100644 --- a/libavcodec/qsvdec.c +++ b/libavcodec/qsvdec.c @@ -703,6 +703,7 @@ static int qsv_decode(AVCodecContext *avctx, QSVContext *q, mfxSyncPoint *sync; mfxBitstream bs = { { { 0 } } }; int ret; + int max_count = 0; if (avpkt->size) { bs.Data = avpkt->data; @@ -728,9 +729,18 @@ static int qsv_decode(AVCodecContext *avctx, QSVContext *q, ret = MFXVideoDECODE_DecodeFrameAsync(q->session, avpkt->size ? &bs : NULL, insurf, &outsurf, sync); - if (ret == MFX_WRN_DEVICE_BUSY) + if (ret == MFX_WRN_DEVICE_BUSY) { + /* Check the max wait time 500ms to avoid dead loop */ + if (++max_count == 1000) { + av_log(avctx, AV_LOG_ERROR, + "MFX decoder returns device busy that reachs timeout 500ms \n"); + av_freep(&sync); + return AVERROR(EBUSY); + } av_usleep(500); - + } else if (ret == MFX_ERR_MORE_SURFACE) { + max_count = 0; + } } while (ret == MFX_WRN_DEVICE_BUSY || ret == MFX_ERR_MORE_SURFACE); if (ret == MFX_ERR_INCOMPATIBLE_VIDEO_PARAM) {