From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 78E10411D0 for ; Tue, 4 Jan 2022 07:41:08 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A89A068B234; Tue, 4 Jan 2022 09:41:05 +0200 (EET) Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-eopbgr60047.outbound.protection.outlook.com [40.107.6.47]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7D5596802C3 for ; Tue, 4 Jan 2022 09:40:59 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nVqu3gq5Qcm/4ASkq7m+H0kr5Z2YmyECfJbjmeb5nztJwV2tx/hsODZs/rbcQiN5Wp+kRCPxg9qjTMSEo77XynsWeItNXHTvhbf2S4mk4ZKOjwnTTLi9MnCeUnqOW2WaG1tzfo//sY347YjgHtPNpPZhQ0MHksw3EpNTaOjdVCbuq8+uqIRWTflYjIJB1ejlL80UFuduVosFUWu/y63kS8Ys/90CK+FrLtL3hnWRUmADo9St39qlFEzCYv5px9if6cpuHqgkNUi7s+ry5ztCKtp06FGQBKH5loCM1wowam8UJhr/tjQJErN3jd8e0JOL2bTJ8YFyweliJg3GHpnRaQ== 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=WIvji1FaWxIJZ+QJIPLbr5QCyQlvqRfmXTRdXZhmfH8=; b=J4xPyRUYdhYJMw2HhR5id7j/fV5MwjBibXuaroCIH9uG2reNRv7bCKerHeXLF/IPLtTk/HriZmgqefn76YW1mat7eAxcqCse0ak+Cf/54eY6tUmt463rEuj9UvVDG6YwAf71AoKu1Mdrd7kmJ5g9DGkvOppmTQgA8pdTY+WN+mTHLuCDWQKzG5JU8+M596oHlbAPTbyI//FDFmgFmqTulCNGkTA+YA9gF4270Yx32aguePM9WJH5zzh45NuelvmtikvD3jjUwO8sH2l3lq341JhWdT7phjEO4fPXsE/S//i1Fh+tEmzWg8PP+w63WQX6EZIq58OLU7W6PuqvxYvqJg== 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=WIvji1FaWxIJZ+QJIPLbr5QCyQlvqRfmXTRdXZhmfH8=; b=Lth5eF5mfCiUI6TZBUOaSkOi8MCU8Is7pL5DF3nxs08B/loy0Fx5E5QRNIyAJwBh/vHm7+cSRtoFkUVqhjFqP9GZWFCQL3FePUa38TvrdmVheiH89UN9m/mc4hKkkI+FdazbR/7O42npfiBgsJdaZ/LjYslO+lDt3BpDBrvcP14= Received: from AM6PR04MB6341.eurprd04.prod.outlook.com (2603:10a6:20b:d8::14) by AS8PR04MB8387.eurprd04.prod.outlook.com (2603:10a6:20b:3f7::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4844.15; Tue, 4 Jan 2022 07:40:57 +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 07:40:57 +0000 From: Ming Qian To: Andriy Gelman , FFmpeg development discussions and patches Thread-Topic: [EXT] Re: [FFmpeg-devel] [PATCH v4 1/3] avcodec/v4l2_context: don't reinit output queue when dynamic resolution change Thread-Index: AQHXlNgBppMxJDlz2E+4MtMnl4RMSKxQwJAAgAKRqFA= Date: Tue, 4 Jan 2022 07:40:57 +0000 Message-ID: References: <20210819085533.1174-1-ming.qian@nxp.com> <20220102162350.lkdedjwlgfr6lgec@jackie> In-Reply-To: <20220102162350.lkdedjwlgfr6lgec@jackie> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 4b4134bf-74e4-40d5-8f7e-08d9cf558bb0 x-ms-traffictypediagnostic: AS8PR04MB8387:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:4303; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 6ySO09ZCFUuDZB+SH2mztTYQ0TKyeKqxMezqYrEjTGsuujYSD2E9yr9y5c4FKxdQnvjVv6YAJ6553+JcAKhArTGPEU0vAvhaCSDWhZBDECMU0rkrtGBes5OiwBq5u30lr055tJFBbxmeBo+LazpobD8LW8dtIFHrpGZb0SfFspGRaFvZ57NCmLNlI8sXgoVmoeSojMqMX1sut0Y/51QxdlrU5FYI4yMMJ9g1NlbXQnmd7uNUV1HqPUbQ+c88tjZ93GbVQkAUPa5eINXs3dZj9wv2dfJEWh35+bChntswllQ0CJOEUw4MEMOjgBkskQGUxsjyDAITfKp6E5gDaSubeHyqxABFc0QY84EQFBr7de5AR4x0iZVnn8ZsnzZqk8F09FizVV/kjG3zpj0Bmyyc32rRzwOIDAxiz8mGIwFTl9Y8W3Sx/ur+BtINpOzIPKr9R49Q0pWFeUb7algCSguqkytVKYs/fkT+nJAI8va88CLmoKseH4+oF4RusaelukmevEtHzuJn4tCybFziwQZwNhUcdZurJNrcVYi+f05geckZ5P5Yid5hLZD5UDUQlCipl9POv+NdMm+CQBNgvX2JSBjYPbXCQz/sK9tzgL/Zf0293lRYBjhnUzSkBtdCZkCDPMSz4iQVamYD1S+W2QcV1FSEfVlzVeQ9L0dMGPID6pLildTiMHQmtV/4B5fUtitSBe26CFsFsnfm4YQRCLISXg== 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)(38070700005)(26005)(83380400001)(76116006)(38100700002)(55016003)(122000001)(7696005)(71200400001)(52536014)(44832011)(2906002)(66946007)(9686003)(66556008)(53546011)(6506007)(8936002)(316002)(66446008)(33656002)(110136005)(64756008)(5660300002)(86362001)(508600001)(186003)(66476007)(8676002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?9DEXKWwgW5I1dV7nLCUdEze91SNBApg7hklx5uwlZ8XF1zZsaKQufvIlv3Ux?= =?us-ascii?Q?ymAMLXxqlIoMDrAfhCllJ8M7XFEaBqgVHioGe1WEe/IY9HFoEAlkdmT84HyM?= =?us-ascii?Q?tp8U/GDCXjXAiQMA/sqhe6n95XlHlauITUPkmkDr47DEM+dYx6gF4FgUclTo?= =?us-ascii?Q?iEuctpfHU0BJ0uIhmhCdeDd7Cz8+G5LnX6pq6C1eNN8wHFnUumtkxP/efPdF?= =?us-ascii?Q?xt/Lg5CJ5X8a8R6s7plnt3vFvvRxSHneNPBLTUvH5FRKTbz6j47bOljDbOlE?= =?us-ascii?Q?F1ViJ21blcsr/SbKPsauD0FmDe/eSpeM970LSrpe+OgBBUtbUCX/rpJ/sxP8?= =?us-ascii?Q?0OUZyCpKYYWxfNkmeXMXpBUTaBePLWPhpF6iHaUm6Qvwg1VbuYWxkNbGKVUm?= =?us-ascii?Q?kIfHfeD0rQP1TWwRVJj7dufldeZ7oP3bkFvcwdPb/KLbR6WiVC7AsEmhJtFt?= =?us-ascii?Q?t/k6e7kAiz0S5XXQ8Ec5vvmbNIHbh9x8FzEuFJ1ikIeQ9eTUiT89pTbawzEE?= =?us-ascii?Q?85LJY/V4u98TN4sIfKGfBDZRG6zmmLLafHtXFeiGlfKHHBCMJh7QnVm3YN48?= =?us-ascii?Q?YFrPyKLxjg4ItKgresYNXMnCXKQhV0rfczmO3TuOJL8XDeKHno39YAI+Ss/N?= =?us-ascii?Q?FD3cFhALGySaEa9jyZVjSSWEoUIAjXyAmizP8lmXTB4+nAnA7Q299Ta8uyhV?= =?us-ascii?Q?RhyhKz69sq6Y/36FnsSOBz23paRB4e9DvaWcegMStMPpeFjZGqHAsjhxZOCR?= =?us-ascii?Q?MBKgnIJBHqTfROY6/CazfxtL1hOVdDfUInNsUzng4WWZ3LfWQjUNvj1aaxPz?= =?us-ascii?Q?32L8kJEsdjPuqDlT1SgiD49Mqx1YYeBeOfuOEo0qeXpL1ozo0MDsv9bmv01J?= =?us-ascii?Q?OXccR6JAsko0A9hguqo1O1EAAtQ37aTgNnjSxa+UiuSc/P5N2EwC8BwKyWeu?= =?us-ascii?Q?HZFSNrromvjmNQLJfg1EKdvevPjoG/aO2WMVZQugAQbKGGgIPUY7nSLrSRzT?= =?us-ascii?Q?ehwuarEV0P4y/v8cNtLj5NW3PDb0ffHMW3PR+LFD0fycYpgkvfmU5eVNvvtx?= =?us-ascii?Q?wmZ8PSvl+U/YEgZvwA6jbaVcUDpSXTh0BX+6hodBibZ/VvSaU0QjaUYZtUMr?= =?us-ascii?Q?CNEIezNphaiWNOwLU+6RTY9cHil0lSaaWp2PE2XzCkTIm66ah7ibRQycYSXQ?= =?us-ascii?Q?KyET/v4rT064bO5qhfj7GkxSNEYkRqq6UKOOlicZPtdCuibUlQfsXxntXXAq?= =?us-ascii?Q?VshSLL5wr2Mj6i4R2W6UIhEgygEIhbDqqHFs4yked0m8W7+4kVfa9IqMOf3Z?= =?us-ascii?Q?z0jxg1Hl5bXOv/dxVGx47h2Kk6RESVW15vKbNOp51g+Bh+SI6bAW8HzMLuQy?= =?us-ascii?Q?JmB1p/dKDwwfHQeo8UHEF9qdzZy7uxORxBMr2e9CA4cU/iSnozmAorgrE0fB?= =?us-ascii?Q?LCyRc0b81sVQBMBxkxNKQKsyIgyiZ4dqYQYkUVnTmBH1r1tBipez9iQta7L+?= =?us-ascii?Q?0NcvfGlnNeiVCzTtaZcVp1NuvCJFTXmUHBgomCDH7WjphHuwaMdFiYUFjsKa?= =?us-ascii?Q?Q3Kt50ShSXXf094J9wy0OqAbGL0lIGhfYq2flofqsmgnJSv814mnOqYp2PT7?= =?us-ascii?Q?4w=3D=3D?= MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6341.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4b4134bf-74e4-40d5-8f7e-08d9cf558bb0 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Jan 2022 07:40:57.1941 (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: j+4CAmQUKw/FW6XAVcw0R7c4eTlVfS07H5/barPAuVMLSfdQjCTxkC+k0M56u131+UzloX1WFh2qD1TgPuEayA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8387 Subject: Re: [FFmpeg-devel] [EXT] Re: [PATCH v4 1/3] avcodec/v4l2_context: don't reinit output queue when dynamic resolution change 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: > -----Original Message----- > From: Andriy Gelman [mailto:andriy.gelman@gmail.com] > Sent: Monday, January 3, 2022 12:24 AM > To: FFmpeg development discussions and patches > Cc: Ming Qian > Subject: [EXT] Re: [FFmpeg-devel] [PATCH v4 1/3] avcodec/v4l2_context: don't > reinit output queue when dynamic resolution change > > Caution: EXT Email > > On Thu, 19. Aug 16:55, Ming Qian wrote: > > in the v4l2 stateful video document, we can see the following > > description: > > During the resolution change sequence, the OUTPUT queue must > remain > > streaming. Calling VIDIOC_STREAMOFF() on the OUTPUT queue would > > abort the sequence and initiate a seek. > > > > In principle, the OUTPUT queue operates separately from the CAPTURE > > queue and this remains true for the duration of the entire > > resolution change sequence as well. > > > > so don't reinit the output queue when handling the resolution change > > event > > > > Signed-off-by: Ming Qian > > --- > > libavcodec/v4l2_context.c | 27 ++------------------------- > > 1 file changed, 2 insertions(+), 25 deletions(-) > > > > diff --git a/libavcodec/v4l2_context.c b/libavcodec/v4l2_context.c > > index ff1ea8e57b08..dda5157698c3 100644 > > --- a/libavcodec/v4l2_context.c > > +++ b/libavcodec/v4l2_context.c > > @@ -162,9 +162,8 @@ static int v4l2_handle_event(V4L2Context *ctx) { > > V4L2m2mContext *s = ctx_to_m2mctx(ctx); > > struct v4l2_format cap_fmt = s->capture.format; > > - struct v4l2_format out_fmt = s->output.format; > > struct v4l2_event evt = { 0 }; > > - int full_reinit, reinit, ret; > > + int reinit, ret; > > > > ret = ioctl(s->fd, VIDIOC_DQEVENT, &evt); > > if (ret < 0) { > > @@ -180,25 +179,12 @@ static int v4l2_handle_event(V4L2Context *ctx) > > if (evt.type != V4L2_EVENT_SOURCE_CHANGE) > > return 0; > > > > - ret = ioctl(s->fd, VIDIOC_G_FMT, &out_fmt); > > - if (ret) { > > - av_log(logger(ctx), AV_LOG_ERROR, "%s VIDIOC_G_FMT\n", > s->output.name); > > - return 0; > > - } > > - > > ret = ioctl(s->fd, VIDIOC_G_FMT, &cap_fmt); > > if (ret) { > > av_log(logger(ctx), AV_LOG_ERROR, "%s VIDIOC_G_FMT\n", > s->capture.name); > > return 0; > > } > > > > - full_reinit = v4l2_resolution_changed(&s->output, &out_fmt); > > - if (full_reinit) { > > - s->output.height = v4l2_get_height(&out_fmt); > > - s->output.width = v4l2_get_width(&out_fmt); > > - s->output.sample_aspect_ratio = v4l2_get_sar(&s->output); > > - } > > - > > reinit = v4l2_resolution_changed(&s->capture, &cap_fmt); > > if (reinit) { > > s->capture.height = v4l2_get_height(&cap_fmt); > > @@ -206,18 +192,9 @@ static int v4l2_handle_event(V4L2Context *ctx) > > s->capture.sample_aspect_ratio = v4l2_get_sar(&s->capture); > > } > > > > - if (full_reinit || reinit) > > + if (reinit) > > s->reinit = 1; > > > > - if (full_reinit) { > > > - ret = ff_v4l2_m2m_codec_full_reinit(s); > > This is the only use of the function ff_v4l2_m2m_codec_full_reinit(). An option > is to remove the function in the commit. I can see how this private > function could be useful in the future though.. Do we then remove the function > and add > it back in the future or just let it be? > > Suggestion on IRC was to remove, but I also want to check on ML. Hi Andriy, I think we can just keep it, if you really need to remove it, I think we can submit a single patch that remove it. > > > - if (ret) { > > - av_log(logger(ctx), AV_LOG_ERROR, > "v4l2_m2m_codec_full_reinit\n"); > > - return AVERROR(EINVAL); > > - } > > - goto reinit_run; > > - } > > - > > if (reinit) { > > if (s->avctx) > > ret = ff_set_dimensions(s->avctx, s->capture.width, > s->capture.height); > > Otherwise, the patch looks good to me. > Sorry for the delay. > > Thanks, > -- > Andriy _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".