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 1ACBC412E5 for ; Fri, 16 Jun 2023 12:09:18 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 2AA2268BFD4; Fri, 16 Jun 2023 15:09:16 +0300 (EEST) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05olkn2079.outbound.protection.outlook.com [40.92.89.79]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7320268BECC for ; Fri, 16 Jun 2023 15:09:09 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JDLFVr/4cKLAO6TL96BhgBSzwylKMUXHnOTSpA6kvgyCXs60Rkejo08kcLiNogVp0OoOCvxlG5TS5enkDzseG1VhS6OmP2LRAXXx3V1i7Le+wmjPIiCBpkyOhPG0D39ThI3/kyqDSGivboMhJStVuSFbg9C145Wlu93mDlP76iJFjACUAHenQR/c8UbbDrmgiK62Tz12XLKyfvFP0064TK0w6JZTr0IGRplpJnMG4UC1C84hb+iXapETlsgbYuOnxj6ZbhKvQ1nNl/UTFLAyK66/vwLdWW3czZbzeqAYMiOAafYYp+FrlgQjIVlNvI6fXoasgY3wniGvidKYdZNtSw== 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=/7HE3Fp2ue2zVp+ZWo0c3uj4AC4ttrj8L0xADqWE81I=; b=eBVnWXJ86P930sC2UhCQ0Cqs9QBT9MxuY12BnVpZ3UBtrE9o6NE+zYpQ9XxvotWDyuz/yDCTiAAKwzSGrCxh3vniTwNETLxt0iEnU56QRm+6uNnVlggFLHkxtNZ6zXLAHTk+CZqbsHaY4Ddw7g9cFC7ehLXkqY3ndWs9hJxC5hccpG+NVH/HULVfaP4Hs6KjF77u7LD9x6CdCWQdetFyYOJeZWCqpOJJ+5WPWpfA/bLv0WrrLZDjNztDolVAKhBa97r3EvNkUInRWTS6AJnzlHSVYG99rkBXS6RVHVxEkcz3hw0IGl+nXxqiIJCeJwXyV6iZ3qsotaLf17xY+P78SA== 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=/7HE3Fp2ue2zVp+ZWo0c3uj4AC4ttrj8L0xADqWE81I=; b=WwCQarWQWfX5YRlh6J8BfNquYEG/NVgTj2pHb5FGfXuQobnVx7vYetVXXcbYYq0P8wS2N6el30wUoagGJbjSrQtC8Q6J8pg6dXJVa2ur5Xf56vWU/ZBMIvSlqnZxE8p4xK1dDriTvdOrZL3/J3g7D0Lh9PdUYiaJBTjqJvxxWT6icfKCgeEZmB845YpJtwidxJOdo17uI5qDGcXYByHwyGAkL0HiLzYE+dIZz23fb8bBtYMiOtseS3FIUcD5O3Oe4oAN0vjlcKnsIFsHxyUT83kr+r1t0Hw0pseQfMsTUMrygrgtpMPUTZFTSSmK38Mjjee3kLIhQ2MNi3kYhfh83A== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by AM8P250MB0310.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:329::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6477.37; Fri, 16 Jun 2023 12:09:08 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::a38:e93f:c7e0:f473]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::a38:e93f:c7e0:f473%7]) with mapi id 15.20.6477.037; Fri, 16 Jun 2023 12:09:08 +0000 Message-ID: Date: Fri, 16 Jun 2023 14:09:56 +0200 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20230616092959.5247-1-ffmpeg@haasn.xyz> <20230616092959.5247-9-ffmpeg@haasn.xyz> From: Andreas Rheinhardt In-Reply-To: <20230616092959.5247-9-ffmpeg@haasn.xyz> X-TMN: [0X3Oxsax9/7MPrTfVzhlANAR9LMQ7leL] X-ClientProxiedBy: ZR0P278CA0026.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:1c::13) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <3168d274-6b50-0c55-fcae-e36e748d3919@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|AM8P250MB0310:EE_ X-MS-Office365-Filtering-Correlation-Id: 9f032ec5-8f0c-44f4-a58b-08db6e627c71 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: vKzCIW+wygBADPuFGYjT+p3xCx4mPLzKICzG5MybMsUPllwg2d8BSwzQB4/uG7lFK1Pg1jY7XAqspI21ZNKmg6Z17Ny//bf4As9ioGOgMRdOCPK1ka0nMnKxEnbcGtrwuuE1XFsQrXiu/7X7You9QWod5fxHTNDu7UPlhZBwGloHFwYWYVxbB7MJZ3XUZnloxP2O3uUHuVhpJynHwABCz52Upui+pKtXPRfLYqR/5VplOOrA1x5c06iYdiTxdC7E3cx92Kf2aJgd5b1wIeGx1dic/m4z8pmm+OBUdmqpjv/tcQrt1oSqAsmjuj1AVYfBGCcrSAO7gpUnACjZyTyvhqeNuTs7GjXjZt2QMGP538gP9QgPkulbmjlIxXVNxscgPA5MfalIpUCxjcm4SBKiPQPMvGcC280YVdcndkj4qOQqK/TPY4S2SzcAW3FTzN2iO8WesU6xX3gFrplDeHLqVNo2THTuxUXmXfAllQ+5w0sHroDwei01YncDYZL2ARrGNF6LaxQqm28GNxzSsrUjGbKQjS6re1lYao22o8pgBysuWdy5+JKFaQBHJRa0u50s5370ku9fKXjJxpC2aBuiRFvtkIkIMj+QIxWbmMQ9X7QMr8WMZnYPDBKv0sUm+ExA X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?clVOTXBqeWpaOWFGYUFFRkxSeUU2YWlZTG1EQzEvZWc5UzhVOTdINFBhVzlV?= =?utf-8?B?akFVSTNuMzJuR3N1Mk9Jc0I0UVpiY2M1MXA0RHAxT3FOWGgxKzdMdTN5OUJq?= =?utf-8?B?QzBzV01GVURSR1BrNGgrKzJ2V0JVOXRBVFZ5R1F4a1JOQ3VUbmFxOG9URmVH?= =?utf-8?B?dmk2elBWVTUwVEsxUVFhV3l1WG9uRVdwNUlBNUZMS280K0dTazlFOEFTZldm?= =?utf-8?B?NWxJYXcxa1lCR1NSVDl3RVRGeVYwaGhocXRjRnJXR3NHTVg2VDdvWXFoTDZX?= =?utf-8?B?YkJ4bUZCUk1tKysrWDRpcS9tYWdseUtVOU0yRGRKRzgzdzRVaFZqV3FqRjlq?= =?utf-8?B?ZktwbzFHeFBsaDFmZ0c2Qlg1Q05XYWJrTTlGa1JZUTNtN1QzWUhXNkdQczl5?= =?utf-8?B?K2pnbU5nWWdBc0NzMUVkUzJqSFY2NURrTkU4U0xCM1RaUmFYMG44eVBpMzN2?= =?utf-8?B?U0U4NWpDeU5VdWVSRDdTbU9DbDBQR25qdWYxUmdOVnFBSHhXVm9HQ0d0TkVr?= =?utf-8?B?TVlPNXVqQ01YbXJPbVhqdlBQR2c1bVhaQjFkV1dsV0V6aGVvVXhRZUVtRzdp?= =?utf-8?B?S3BRRU1NQ3VhMGN5U2ZIVHl1Q1ZXVVdTSmRBb3UvSVh5alUxV2U3dEZMUHlD?= =?utf-8?B?Zm1RYTIzVWM0V0d3NFpOb2Q5elBvN2JaK2NWU1A1dEtYNDA5clpnM09mbEh5?= =?utf-8?B?ZUJReTdHY2tsdTFMSmpuUDVjK3pxVzJTVGhWeHpIdE4yd0NkejQrd0psSWtD?= =?utf-8?B?eFNwMjFLd1BQMzdlMXpJOFhkUUdYU2xobXlTdU1lZEhqUUE1ZkNyQmxlZ2dK?= =?utf-8?B?RWlzalBaWHZFSCsxMWI0a3krcWtyMkRnQ1lYRXFXaDdSOUdyVXVzamM2czI5?= =?utf-8?B?Q3lXNXBvSWw5VGFIV1hhM1gweTMya1BoL21qcmxLblYxYzEwaFZZTnE5NFg4?= =?utf-8?B?M3IxbUpTM3BrZmlWajJoTXdKUmJHYThUbmQ1UXFCdjFlSWRJNTVxZ09yMmli?= =?utf-8?B?OVFBdmNoU0hxQkN2L3VpMnRqSk8zTUNzTFpSYWovY1RsMGUwQyt0ZStNV0Zx?= =?utf-8?B?eTlQWjZ6My9ZVGU0cWRESjRLTmpEcnVlMWJURjZkWFpNR3FmdVkvMzdkYi92?= =?utf-8?B?R3NuV2pncEI1Sit1TVYrR0FxNG5RTE1DaDNzZUlsTW1pUHA4aldwNW03R2VR?= =?utf-8?B?dDI0QVowYlZBait0c0FPMlNZQ2o1Tzl3VGRvUDlsbWhjMERzVHgwSS9VVVlB?= =?utf-8?B?aGlyNWxhV0VQVmJOVzhmWm9IQ24wZVRkTWE1R2JNNTVvdENpWGdXSnAyZlFq?= =?utf-8?B?K0Q5MU5hSUg2Z3QyWmxqa2RFUThSbXlEZDJHNEZCYmtOTVFsN0x4NEQ2RkxO?= =?utf-8?B?SVlHa3laRjhDNjJmUzhHbGhHd2p0TkJZdmRzalg1VWc1TnNmcDkyMkRSdjlE?= =?utf-8?B?b0lpRTgzamFiRFNud0pKN295SzllWjQ4dWU1c3VDNENsa3FXTTFTUyt0Zlcx?= =?utf-8?B?WTBDOHJvN0RHdm1BVFVxZjV4alA3cnZHWDRhUUJSY0tuZy9hNGc1VHFlZ0xZ?= =?utf-8?B?RkpISGt5UHVFNmZBNEtUK1lsUWdWdXhxSGNTbk1mZ0lUNkxKb0l6RTE4YSs1?= =?utf-8?B?V3RYNHk0b2ZCb1hyVXNtSFhzWFh5WmdpVjBmbk4rcElEdTNRbkNNVnpHMUhx?= =?utf-8?Q?vdBqXnL/jOjeQBs+fmKq?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9f032ec5-8f0c-44f4-a58b-08db6e627c71 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2023 12:09:08.0260 (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: AM8P250MB0310 Subject: Re: [FFmpeg-devel] [PATCH 09/22] lavfi/vf_libplacebo: replace s->input by dynamic array 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: Niklas Haas: > From: Niklas Haas > > For now, hard-coded to 1 element. > --- > libavfilter/vf_libplacebo.c | 18 +++++++++++++----- > 1 file changed, 13 insertions(+), 5 deletions(-) > > diff --git a/libavfilter/vf_libplacebo.c b/libavfilter/vf_libplacebo.c > index 408fb3918a..fbac1b0354 100644 > --- a/libavfilter/vf_libplacebo.c > +++ b/libavfilter/vf_libplacebo.c > @@ -136,7 +136,8 @@ typedef struct LibplaceboContext { > pl_tex tex[4]; > > /* input state */ > - LibplaceboInput input; > + LibplaceboInput *inputs; > + int nb_inputs; > > /* settings */ > char *out_format_string; > @@ -660,7 +661,12 @@ static int init_vulkan(AVFilterContext *avctx, const AVVulkanDeviceContext *hwct > } > > /* Initialize inputs */ > - RET(input_init(avctx, avctx->inputs[0], &s->input)); > + s->nb_inputs = 1; > + s->inputs = av_calloc(s->nb_inputs, sizeof(*s->inputs)); > + if (!s->inputs) > + return AVERROR(ENOMEM); > + for (int i = 0; i < s->nb_inputs; i++) > + RET(input_init(avctx, avctx->inputs[i], &s->inputs[i])); > > /* fall through */ > fail: > @@ -677,7 +683,9 @@ static void libplacebo_uninit(AVFilterContext *avctx) > pl_tex_destroy(s->gpu, &s->tex[i]); > for (int i = 0; i < s->num_hooks; i++) > pl_mpv_user_shader_destroy(&s->hooks[i]); > - input_uninit(&s->input); > + for (int i = 0; i < s->nb_inputs && s->inputs; i++) > + input_uninit(&s->inputs[i]); > + av_freep(&s->inputs); In case the allocation of s->inputs fails, nb_inputs is 1 and the above loop will try to uninit a non-existant input. > pl_vulkan_destroy(&s->vulkan); > pl_log_destroy(&s->log); > ff_vk_uninit(&s->vkctx); > @@ -774,7 +782,7 @@ static int output_frame(AVFilterContext *ctx, int64_t pts) > { > int err = 0, ok, changed_csp; > LibplaceboContext *s = ctx->priv; > - LibplaceboInput *in = &s->input; > + LibplaceboInput *in = &s->inputs[0]; > AVFilterLink *outlink = ctx->outputs[0]; > const AVPixFmtDescriptor *outdesc = av_pix_fmt_desc_get(outlink->format); > const AVFrame *ref = ref_frame(&in->mix); > @@ -942,7 +950,7 @@ static int libplacebo_activate(AVFilterContext *ctx) > { > int ret; > LibplaceboContext *s = ctx->priv; > - LibplaceboInput *in = &s->input; > + LibplaceboInput *in = &s->inputs[0]; > AVFilterLink *outlink = ctx->outputs[0]; > int64_t pts; > _______________________________________________ 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".