From patchwork Tue Jan 4 09:08:32 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ming Qian X-Patchwork-Id: 33051 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp16811871iog; Tue, 4 Jan 2022 01:09:49 -0800 (PST) X-Google-Smtp-Source: ABdhPJw5PmuqixyMMXsCIxd2gdkWPI2yja+5d02BTjJG0NBFLPCnAt7zaPmVMWz5cLhsX7R5Mzo/ X-Received: by 2002:a17:907:94d1:: with SMTP id dn17mr39883096ejc.375.1641287389567; Tue, 04 Jan 2022 01:09:49 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id he18si16163301ejc.24.2022.01.04.01.09.49; Tue, 04 Jan 2022 01:09:49 -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=@nxp.com header.s=selector2 header.b=AIVngZYc; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id C4ECB68B133; Tue, 4 Jan 2022 11:09:24 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2043.outbound.protection.outlook.com [40.107.21.43]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 0306F68B11F for ; Tue, 4 Jan 2022 11:09:18 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XxbuRpFiU0WNBfgWJ8HI7MoPerxwPwvIvNiWl3wSpw3pwWvD6RR9MYtKHcVzauDNDJzGGVlYWkdM63UhyNs8gzJjkLoq+TD7Cg0dIrmCxHtDVzUYmheYqNp4MWRuQZcw/pCms8Z/vagANRRgUsAiM+nnp2xdh+9ArySqSaivMHcZfhTfGo6DYING1Q8d5Vwne+BkWAlq8E4I71Avw9sedaoL9JqOHkuvZCOUZd9aGn6tS/e7JmwEXO/Pl0K7oX5JxJoVpLoUFN/uRCXy+ZjZEoJRc+ScSf5KMPbgp9yz6EsaQQ/iOB9FjVzhhXceaK7zGrXcGbo2QteCTqV6mRisBw== 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=glYYM7TIzZAuTJtewdwCg31hRwASqjhvCjkbJJtKzVs=; b=KBXN7A3zcn2e/q8MTvHVgIFS8/XBksEJukCVSAflXwNOMzP5euzJ1t+G4rpUJNd7sLJWcrKdKDP/omseXL4mUvItqwoYKuDH7wfpdxnAR6P+9aH9nBIj4e6o6IMbKBzszIIpqKGj2vpUi7eoZZDhKrsfhcn5T1eTHuZjSiIsUufOTEUBoEIip6lSJuyuL0g9YXA4O9CyjVAZVGvjkrv0O2wkFVl7m69eQ84brmrg2OSoLtfrD+TNbL9OFIvqgwC4Otz9FNP2O38BDi6M08skUB9Sjj0AzkTlKS4iFtVShw+Mv67DkF+Ji3FGxFRW59OmnNpLPPIzaBuxMWVVV+Zqpw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=glYYM7TIzZAuTJtewdwCg31hRwASqjhvCjkbJJtKzVs=; b=AIVngZYcTfGB1IBajPteE6hmuXpYzq77a3UTwDpj4cefw7kTHcXMSxH53neL1GFgKuFg8iPHMLQge+8Nj++PZZHKWvk8HFUHz2fFOd5dx8IGk0/RWh4lyj5RbqfCXOd70MFdbypCWtIDYPYIqRYUpZlkXto7w4ObDCPh+kQ+NQE= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM6PR04MB6341.eurprd04.prod.outlook.com (2603:10a6:20b:d8::14) by AM5PR0401MB2435.eurprd04.prod.outlook.com (2603:10a6:203:36::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4844.14; Tue, 4 Jan 2022 09:09:11 +0000 Received: from AM6PR04MB6341.eurprd04.prod.outlook.com ([fe80::b9f1:7371:3484:95b2]) by AM6PR04MB6341.eurprd04.prod.outlook.com ([fe80::b9f1:7371:3484:95b2%4]) with mapi id 15.20.4844.016; Tue, 4 Jan 2022 09:09:11 +0000 From: Ming Qian To: ffmpeg-devel@ffmpeg.org Date: Tue, 4 Jan 2022 17:08:32 +0800 Message-Id: <20220104090836.31660-3-ming.qian@nxp.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20220104090836.31660-1-ming.qian@nxp.com> References: <20220104090836.31660-1-ming.qian@nxp.com> X-ClientProxiedBy: SI2PR01CA0001.apcprd01.prod.exchangelabs.com (2603:1096:4:191::13) To AM6PR04MB6341.eurprd04.prod.outlook.com (2603:10a6:20b:d8::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 18769be2-935f-4523-60ec-08d9cf61df62 X-MS-TrafficTypeDiagnostic: AM5PR0401MB2435:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:279; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Tx2yziTC+ngEJTFqqADna32gnqlzGOvhRaaCEg2umskddNsZW7iCrKoggFn1xVyuInOO+EmRM4zgGP5CjXXti6jhkyLyYedYBWhdW2q9hBLdCi/dHd+ebJgKp7gPXNeCJC7Lg1CJ2/8+xltlpE3fg4qBkxgH/komCIZ0xFxvcudEp8WCDTeDtslRbLxiahnDXNNU8SSi0XU1Px8w/yPXCpi9THJ6FzGDZHeMakLLzIfpA41OjXlrtc2Dhw9bUOlLS17gEh9YbdQ21XRnzvbYFK60QA8Ro47/amwIb+MM3m/u/1A2KL+rp4aJrE+enWauiBK0iJLQHrO6OTOMlRw7rpbis0i+NKDGVD1LjuDPlnOh7Vg8wdQcWqBeF/4ORuxs773hSyq6yPpHMnNpAu6Nmj/aDG1gWKQnWNrWPiasaThXHlp8/T7gmaKqNX0IiyhoGuGKac0WMufGzQiStnuUdM/p9Iyl/NMMUfcgSFtQWWBN6DRpWOd6oPU26e5xx86XpLWtDyBdh9zqqzSkeSpxGIjz80J6D+cT5fBISUuTLkOU6s8qDKdosR/hCKzhMkplM+FUA7JlHDaOahQzii2ceMqUP6UqiO4MCICe2WvTbejvbbW29fFvsdZPc5psjF0aqeqtpcZR3Cy7GZSy1szWXHcuMkItv4sYWMYQzk1BsgpVx8IFoR5YIUETLM58Aztefh/xJM/ysEISK0qCVo8iTA== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM6PR04MB6341.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(26005)(36756003)(5660300002)(6506007)(38350700002)(38100700002)(52116002)(186003)(6916009)(316002)(66556008)(508600001)(66476007)(66946007)(86362001)(1076003)(6666004)(8936002)(8676002)(6486002)(44832011)(6512007)(2906002)(2616005); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 1bJ4D2IXuwCNl6ZYk5o/VMWz2JCUUA3En+xLf3gD29W3duPy2OE02qqO6T9oVNZ7mWtHmJwdmCq8A0AvV+1tTfaFYBj77+YjTqOC4/qdbY+u7M6CW+gIl2YAyKh5iHcryxQFxm6ZYfo/2V7SQGkPHdfpCvM/4F3EwUSX+/Sf0Pat8PYf8OgytraudiBDlvbDtL2LL5n7adJru80+zH8kPCixZ4Kj5vSNIHBjxWt2EbQEVomHXUgbVcZOib/rVnAY1DFSiybBRwK5kV7vmgnQBMzG+v4UeiIiS8nOdRzIyqMlDkU9rEYEpWBnbfThsxKiAGV+mxEmm5AoAZ0T6xnmIrP19mqmsm8bybjxWBLYnVLtSrFy+OwIi90TTA00J8VEApJfzgFyF6GL0NdJ/DjOX7xBKUbjKJ61L4s6veObS3mpighAwGQfaZaKMLpstjTrObYYeNGjTYLbX/2+1DBbM1r1eu9HXp7G0un2BRRD6C494LEkDZ0qCUi3OjV+r6iriYu+LetAGMuQnNS/LkYDxXkDO4AycOef7L1wT0kH8oe1puwxvZoriG6WUCwEt5GZ+kkgo0OqEz5J8668Rbo433/zCMnGfcJ74ziMT+by9RLJDLE+K/TglnTDDF3JoTS9tSSsB3qkVj1hPQNXqEx65YAc6uTgWSkzkfuMbqnEF8Vuwbk84/3IGwKoeCn2tbHd4VoX3CU/pj/aWF71mWZpM3uHJg1uflF8nS9gn+bR3jEdiGtRs76RyjsXtTk68IRNUO0SqR9SXgLTuB/JPWF6fRWM5BmwoKimyYwW4uJWh6JPU0HddDyGBo+G6eKoOXOhpP2qlBqqfg739rK3gfReT0wDUIuPOwSYHLXMeDpKSmtBucukHRfH4wwyrrHPPrSIJ2e7mG6SlAtdGd4nZSx2br+XuTMmwIpuSNhSg1mFjaR36L0YQlqR4M2kFcoJWCOX1V8X2fdDPOZWbKh9VSH14r1y58iALu2De8RKKBUYfz1C+qpSlOE6dX2maWVoF4aqJOKiQP1CerEmDKPk0MtpSbvfZYlGkf8D3854/Hwp7SD0WQcp1F2Mooh7YKTJLJh/GnvTQW8o+4Kl19RoP9mUcH1W/hwuAGUIE1Y9yFlCR7MC/rdif2b0oUW1WqP+MlA9xVCLkAPcayqf2SrqGSUWqhrVMXUH4KxySZFWargQ9M2J1XTN770nwPEDjhdQNs7nHA1ek5z4Gn8jZCvl8q0Uxmbvvv9QN3suVpjrlZMUsqDuOFDNUYPH8SKLdKzQvEdu/1eKXWAnRzYMemomRcnxbrzacyeyM59HdK0KvEnCCJa17yxzQyqaZs3q6LihuB7yUaoLeAp8Hvm/oeNEy1/CYgIuRlLX7kPuZoIPoDQCzhj+i6l5my6GLb5MC2zdgP39K3YfamZfOGSk6NYUIGlpi2/WbUb3EAJ3Q2KolW48dW7D7N5q3Lh6ezhqS4S+vjIsbdP15pG7zEEWPjn6sEjw8+zhbr28S+t/cl1lMbFaMcX0TM94B/Rw3XTvsj14N82pFRwMToaUcxfszaoRtOW7bFfsP8J5YCzoaTVgvZgTrNxUR1+bZS68emKraTc0BnndYTpOX0rnPRE2TFwr8JGOaF00/4nPMls0h6hzZ1bsKxU= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 18769be2-935f-4523-60ec-08d9cf61df62 X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6341.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2022 09:09:11.8054 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: cCQzebpVfol0UXas66q4teSMxT/9+vjPVdrzGQMA95+ANzsnMHfsZko/nkr4xQhf5anDISNcVIYUEkf9G8ebdQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0401MB2435 Subject: [FFmpeg-devel] [PATCH v5 3/7] avcodec/v4l2_context: add v4l2_start_decode 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: VHe9hF8x8fKS on dynamic resolution change, The decoding process must be resumed with either a pair of calls to VIDIOC_STREAMOFF() and VIDIOC_STREAMON() on the CAPTURE queue, or a call to VIDIOC_DECODER_CMD() with the V4L2_DEC_CMD_START command. Signed-off-by: Ming Qian --- libavcodec/v4l2_context.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/libavcodec/v4l2_context.c b/libavcodec/v4l2_context.c index dda5157698c3..a181f884d2a6 100644 --- a/libavcodec/v4l2_context.c +++ b/libavcodec/v4l2_context.c @@ -153,6 +153,21 @@ static inline void v4l2_save_to_context(V4L2Context* ctx, struct v4l2_format_upd } } +static int v4l2_start_decode(V4L2Context *ctx) +{ + struct v4l2_decoder_cmd cmd = { + .cmd = V4L2_DEC_CMD_START, + .flags = 0, + }; + int ret; + + ret = ioctl(ctx_to_m2mctx(ctx)->fd, VIDIOC_DECODER_CMD, &cmd); + if (ret) + return AVERROR(errno); + + return 0; +} + /** * handle resolution change event and end of stream event * returns 1 if reinit was successful, negative if it failed @@ -190,6 +205,9 @@ static int v4l2_handle_event(V4L2Context *ctx) s->capture.height = v4l2_get_height(&cap_fmt); s->capture.width = v4l2_get_width(&cap_fmt); s->capture.sample_aspect_ratio = v4l2_get_sar(&s->capture); + } else { + v4l2_start_decode(ctx); + return 0; } if (reinit)