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 D66524014C for ; Thu, 3 Nov 2022 12:49:21 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B819568BF73; Thu, 3 Nov 2022 14:49:18 +0200 (EET) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-oln040092073080.outbound.protection.outlook.com [40.92.73.80]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9E58568BD93 for ; Thu, 3 Nov 2022 14:49:11 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hXIf8XSngpzhkDoc7GUV6LoNlCT1XdPepv/DmOvaf5aAOys2X1wr4LbbQk/Xp5yHx4mJSKPBzvwmGAnJPQx4/CCR+MWqpxMQSBS3aeQCazDG0uAwoyjViDgEDNzpmiHD9iX6upJb3rM4Z2C/SJp78aliLIpvuGLMB2h5QEMcE1yBwfEfe8Xwz+/D8ZXy4XCthOhkCo3dTtTrWN9HvUQE9AvzmMwJARtj6NQ0o0oHvuIAW1xqOvqNYSN1ZEmQXI2KJcdwKpMp6mGF3oCNqKCfRhXD/nfgWiVILqAAf9lzlj4bEDh6OlZ0qCqKvVfr06bMRjKeHIe0hSm9OK2/ga2h6A== 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=Oo0xeDnLw8plJbY/cLHnL1WHYgeXzjh8t8c3nF8yscE=; b=haCWvszJXUrB9viopiHc8ACpFJeBxvjBq4R1Hzy7I5n/oB/pb1048RZwVixwfu4UbKDdotCoIVtSIsAV7pDuUCaO6cfAiPqrS/uGQT6G0TiPAL0jMtHmG4FY0oTe0DpO7Yjh8b3FlNEktdMm2J8pjdoewkqzflUBHAeFW+wE1YvHenJf4PU2Skk1cMQKazx9kBXiV6W/5QA6mWsui/4z4K8EU7XZxcHJhqibolJC2sIOkJ8tKqts7GpMq4ogwjMLw2jG7SaiCauVcX7yEoHr6ievK+tvx9z2QSrnMquAedwTwpZLp7iA3IJ6kp5kxnIkyxlmKpH3j0qvTv2sfcpC6Q== 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=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Oo0xeDnLw8plJbY/cLHnL1WHYgeXzjh8t8c3nF8yscE=; b=Rj+bXSeeOP2NkPSTOtwDYFnZZ0MdcHX90uhjva0pnuonn9OXvVz/MU/5cQXmATmtMq6JyBcDy/lYfn2s4VLrktFvp7gDDuoGWnIpIsQqFr+Rp4LbBnLHZGs2lF7YqaA6XIMLqeHECb5/nvnb+pPDkYPxPdcViIxIlc+cLz2qlLuDqI1m1jFaP2IFgHQxdfQicWKoEUgDZmBuL1lYRYqq9cknV7wXoCu6GqC/+aVt1RNstHOkTirambevhWAS5Ho6SV4QMKPjTWiE2c+PHm+7zL7Rq0UIhmsdS7N4hdHK5kRqY8hdhlaLCmlHAep7yksh0UPux3vFcAWOQEu9q0a29g== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by DU2P250MB0093.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:238::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5791.22; Thu, 3 Nov 2022 12:49:10 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::9587:72b8:e3ec:c4fe]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::9587:72b8:e3ec:c4fe%6]) with mapi id 15.20.5791.022; Thu, 3 Nov 2022 12:49:10 +0000 Message-ID: Date: Thu, 3 Nov 2022 13:49:20 +0100 To: ffmpeg-devel@ffmpeg.org References: Content-Language: en-US From: Andreas Rheinhardt In-Reply-To: X-TMN: [OCXnyp8q7mFHg64KM6DOqv8frj88/mrYA8uu1yStfTk=] X-ClientProxiedBy: FR0P281CA0117.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a8::15) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <392cd801-d4b6-9ffb-4c9c-75b7f2bbbac2@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|DU2P250MB0093:EE_ X-MS-Office365-Filtering-Correlation-Id: d4bd93ef-31fa-42b4-77a6-08dabd99cd35 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Qa0QF629gRTvqgTJVzg5IlwVS0T5bFvpWh/tMWpYYRlE0MunpPIgdfFTQAjOKRLXHHj4wKvXUBR3dmCXre/bxuhhObssi1vEtzMpgb/ilcDsfDSf7i3FSxnx6+b4hnykQce0nINLR/Q8SUNIAwZlHUCSI+SD1HvTI4uS8aAqm1w0kr+fNzbtf08Rv+mC2zNersypHGWBOUVL8smcnr+JWanepHG4lMSksuBVQMn2PLkVYs20kArM5WrUt2w5l4GtXsxEpjQj4GYfJVAGib5AIkH/W+nm6jGur9jz9GRQtMfbvyn3gjevDQdMGbZTx4m/JXRe/kdG+6S2u6xD4nIJeq+/RJ/FpkZLfxwCwhXvIS8k4SbfA9ZgXx49Hm4S0WsVB+iI5wuitHpqtdXzrWOtYG7IW557ewIEe/SbKqVWB+eJaG2I3IG8foOlqT1IvfOo4jae7vsGNVHhDIuVa/w8cHYKuUdxtN3nhmM44uK4Yj22je4/DG257P1iX8v931rWFrghieLxeMeF+jmAVMBmDKZMGWGsBh/CcXVFf/wtCdjanj22aC+LJRo0KHl2Zdm1K/xZAeCbw1cvmF3VyUQVDk7Yd0QuDxKxSAtQqf4zEA7o4N3EO6oF07waebHkkWu/bQjO9hMxnOiT+K4urKi2zsYJwOHTp60Tw5uJckeo9qNo7MpqArpFQzVpRag86Q7H X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?N0tZZHJrczM0TGFkMzR6by8vNVVIcXAwNUlBaUNTMDM2SUtSVVNsL3hzMER5?= =?utf-8?B?UHRaN1p2eC9YYXAvU1Z6ZnZSMHFwU2YxalowZklOcmozd25xYVBIUlA5aDZF?= =?utf-8?B?d1pROE9OUkw0dkYrUE5DTHVna1Y0a2ZxSGdZNk9xdDVNUW5mVUF1eFd1OWFF?= =?utf-8?B?cnJLVDM3eTJyZExwWFVyZTI3a3ZSbmZCMGpyaHAxWnZlN2FyYWZLRHd0c0xC?= =?utf-8?B?U0Z1QngzeWsycEZRekhVUDRGN3dzSldnNmw3eXUzV0hGS2xBREdyVlowR3FP?= =?utf-8?B?UWVUNTNnbkZNM2xhSVZTMENIQjV3b2xpeGpyM2U2aFJXdEdEamR4dnM0ODZN?= =?utf-8?B?b21oalV2YzcyNHVCLzNqOXVBeGlkUUo5WkR6dStmRjNUd1p0bG9lM2R4akhP?= =?utf-8?B?UmhwMU1WMHZ6dGM5Mm9hS1RkZFlRalhuU3NBZE1qc3JtYXFFTzBHQ1QyU0d3?= =?utf-8?B?VitPQkFlbW1zU1FZS2VhTGgyLzZaTm10Rm5mV2JaYXRTSWFOc250YmlicTJw?= =?utf-8?B?T1psaXdSbUlxWC9lYmlnQUVseDZuaXEzMyt3MXN4TEtWL1BHaGxWZXNiS1NF?= =?utf-8?B?NUNHM3dhZEYxeHpPeWYwMTY4VVhDNGtGV3lwQkRoaUd3WCt6SmthbmRvY01n?= =?utf-8?B?NVJVcDhyVFJxd0c5SXlnT1RmZlhaV1p2eW5rdlZkeFdwbWhBYldLOTlwT2Nm?= =?utf-8?B?UjJmWGY4WHNGRWRNc3d2VXp3WmNsN1N3RkVRTUxEM3JZNEQ1Z3pYbm1tNG9h?= =?utf-8?B?VGlpdE81dDVsaVgyM1BrUFp0ZVUxQ0JXYUo2aFdZNTV3L05RMlRHL3Y4WlNY?= =?utf-8?B?cjZ6L0ZCZEI5U2RxZDVrdGdxVndjQnpGb2J1alRDSG5jYXJGYWpQNkszWmhW?= =?utf-8?B?M3dZcVBOUDcyUDdwcFR1YllDM2tyZVdJNFVaQUZCMnA0amF6VDlWRitKN2d1?= =?utf-8?B?OFpORStMQlVkMDBFTFlob3Q0Y0pLdTd1c2M0UG9TWXpWWmVkNjdFQ3lKb2pY?= =?utf-8?B?b0R5UmpZeWlrUGsrQWVBc3VpdWJ4ajd3R3FmOWlVbGJIRWZhMS9ndkJlVXNr?= =?utf-8?B?QWRNNmY0bFgxaE81S083NUtqTm81L3dveVF6cTV2TlZpK0lxR2NpczRoc0dj?= =?utf-8?B?T2h2cEVkTi83VlUwWklDRlJ0a2xzSlpva0k2aXR0U2grSkxUZlYvYzRzdDAw?= =?utf-8?B?eFhXWTV5aWhkNVJCT0o5WnVXd09CWmdwTnV4Nldoc09lYVlveENaL3k0V0ph?= =?utf-8?B?K2V4TzE3b2Q4WEJHUkhwZXF0Vkt2R0ZVWDFHYUpKTU9JdVc5dWkxaVd4UnZR?= =?utf-8?B?ZjdvYUR3eGJJbnU5NzVDb0ZidFhWNE13a1V4T3ZXeW1mS1pFeG1BODhaQ0dW?= =?utf-8?B?UzNkZTV6cXQrcUlDNXNCUVpqQ1NRbFZTdXFWWTVYOHF5MzdkeXorNkVaN3ZL?= =?utf-8?B?b0hZT2g1d3Zza1NtRTFaWFBnODhBQ3dhQ1BSa2JrRXJMZUVrOFl6a3RvNkNV?= =?utf-8?B?YSt3TUZhUDVHUUhJdHl3TUdhTCtEekJKSUprZThLSG9kaWM5dXFwTEk2bEhS?= =?utf-8?B?SENvK0E4QmwvRkhjY3NIV3djNmtuQnM4Q1VCRnBWcFdtTVhFV3hYRkFjYVJV?= =?utf-8?B?RnJodjB4OHVSTTRvQWpXVVRTZ0dCSHVES1JEQWEyc01ldGZmbmZoNUFUVkFF?= =?utf-8?B?NzNNZFpqTHlRdmxibFA3TzBrS010S1lyRWpiQy9CcThYbnZQVElmbXBoL2s4?= =?utf-8?Q?F4AxvzL8en5bA+kTLWUhftbpgcULyHAxDct468W?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d4bd93ef-31fa-42b4-77a6-08dabd99cd35 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Nov 2022 12:49:09.9481 (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: DU2P250MB0093 Subject: Re: [FFmpeg-devel] [PATCH] avfilter: add backgroundkey video filter 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: Paul B Mahol: > On 11/2/22, Andreas Rheinhardt wrote: >> Paul B Mahol: >>> +static int filter_frame(AVFilterLink *link, AVFrame *frame) >>> +{ >>> + AVFilterContext *avctx = link->dst; >>> + BackgroundkeyContext *s = avctx->priv; >>> + int64_t sum = 0; >>> + int ret; >>> + >>> + if (!s->background) { >>> + s->background = av_frame_clone(frame); >>> + if (!s->background) >>> + return AVERROR(ENOMEM); >>> + av_frame_make_writable(s->background); >> >> You are never writing to the background frame, so there is no point in >> making it writable; what you actually want to achieve here is making >> frame writable again and to achieve this you should make frame, not >> background writable (and of course you should check said call). >> > > This is invalid, input pad receives always writable frames as there is flag. > But in case this branch here is executed, the av_frame_clone() makes frame non-writable, so it needs to be made writable again. >> (Actually, you never >> >>> + } >>> + >>> + if (ret = ff_filter_execute(avctx, s->do_slice, frame, NULL, >>> + FFMIN(frame->height, s->nb_threads))) >>> + return ret; >>> + >>> + for (int n = 0; n < s->nb_threads; n++) >>> + sum += s->sums[n]; >>> + if (s->max_sum * s->threshold < sum) { >>> + av_frame_free(&s->background); >>> + s->background = av_frame_clone(frame); >>> + if (!s->background) >>> + return AVERROR(ENOMEM); >>> + av_frame_make_writable(s->background); >> >> Given that you never write to background, there is no need to make it >> writable. This time, there is also no need to make frame writable (the >> next filter in the chain may not need a writable frame anyway), so just >> remove this. >> And the av_frame_free+av_frame_clone can become an >> av_frame_unref+av_frame_ref (this will necessitate modifying the check >> above to not only check for to existence of s->background). >> >>> + } >>> + >>> + return ff_filter_frame(avctx->outputs[0], frame); >>> +} >> >> _______________________________________________ >> 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". >> > _______________________________________________ > 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". _______________________________________________ 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".