From patchwork Mon Oct 31 06:19:57 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 39078 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:8e01:b0:a3:a294:714c with SMTP id y1csp731317pzj; Sun, 30 Oct 2022 23:21:14 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6rgdnKg+yC3sLt4XEqHUP+nl6QbNyUOHnOLp9UJCVPvGI0VwqylyAIn0PsAHDvquu4CH7J X-Received: by 2002:a17:907:7627:b0:78d:b6f5:9f15 with SMTP id jy7-20020a170907762700b0078db6f59f15mr11608148ejc.149.1667197274672; Sun, 30 Oct 2022 23:21:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1667197274; cv=none; d=google.com; s=arc-20160816; b=OGGU8A51vnmN2moIIJHbxAR5VxPlkXl7KpVLcVljssNUUCBMb2zVc5rYNFaTv+pUsn OUW/Iq1iWISwSvqJwwaz94xFpitJ/W8GCeWHyzDZQSdP2GGUnsPpwOKU1j237P2szXVk XHO4QZuLqF0YwQLXRSE365T5B3r1dS9n/kp3V3MxrRP/+fhc4gUBu3yyJ07FJJg9QrF5 YqBoYxbvPiz4Ap6Q/rELY7eMoTX69z6amCtL1kdRV0NegegqY9JrungOpz8hHweaAIF4 V1GwtjAhQNujEtGET/GJgcl8hUnbr9eeHmMMCjpUXYef1kCHf4R14RP/xHjp191ze0+7 nY1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:to:mime-version:fcc:date:references :in-reply-to:message-id:from:dkim-signature:delivered-to; bh=1nOzOfaDrI6KT7d4lZiju6venbAry4EuYhozdDTyzs0=; b=0/cxJf4S/VlQIKmK6qAlXABA8xbRR+YvH8uZ54qHhaIaowJOiusXHIZIHJFjgDz1mk /CfPoVqQ8Jen9Jdtuts/wVitfgvADoaev2KYyIAgTxhMa8Wo9+3mf1ALVzOTUlpsTIo0 XIDrahSxKiCDwZCeYQsPVqmjtEs3BH33vVAbstlUleQywsdJdw4mZxeIchZhZ3CQYAou kqwlPBZggEfqEqaBwqDDZdf+5D/rn1EpIBLvtCz39wV3GKb7y9rZFBGcozVejsFTcPGe jymtAC96SNahOUs5082Kj3htcYP2Vlbdr5edXJI8XpXg558crPoZRB4yR11cWk0ifUWv Iamg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b="OH2Mn/fC"; 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=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id v18-20020a1709064e9200b0078df185078esi4929285eju.663.2022.10.30.23.21.13; Sun, 30 Oct 2022 23:21:14 -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=@gmail.com header.s=20210112 header.b="OH2Mn/fC"; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4C7DA68BE0B; Mon, 31 Oct 2022 08:20:29 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f52.google.com (mail-pj1-f52.google.com [209.85.216.52]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id F2FC268BCEA for ; Mon, 31 Oct 2022 08:20:11 +0200 (EET) Received: by mail-pj1-f52.google.com with SMTP id b11so9556553pjp.2; Sun, 30 Oct 2022 23:20:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date :references:in-reply-to:message-id:from:from:to:cc:subject:date :message-id:reply-to; bh=LQlUniyVqWyERteLmBZdYd9ZYLKs4uvTFGh3cb2LVx8=; b=OH2Mn/fC/1hzIHfekev1gM+XHx4l5UqT6toskhg3yMemfZ8SHMNbPwfiHBJh3+kkhS lt8UKI+BJTE7sGKQUn0lWOudfE8vTmT4FV6qL5phpqQfxjuEye3ciidcQ7TBd/xbVRl+ noHY21Z8twb5npNR7cnwidjdhI4fUsUY5jtV5GJhxIV/6MWiy4Egoo8VPjCOKVpyQPZ6 RSjcsL2+p9Wd/lWZNaEMYadJlemtEzWACGptCxK/9rtihxxTcPl7T0Pq81g5sKOVkBll LbKCR0o3jaLkGHil/BgsPJl4eFzt4PstWss5aTCtNXC0Mg9xpARBkLXfqxZEP8XDvhyX EDWg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date :references:in-reply-to:message-id:from:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=LQlUniyVqWyERteLmBZdYd9ZYLKs4uvTFGh3cb2LVx8=; b=Yk2be8EU9wOgaQM7BYVa9exh2wA1qdbWgeOi1FMfwfqJINAWmTdo9TUEzInclYplkR oRdii59dyV6OdTv7rsi0H4ffrnI4yoawlIsFdqH6qL3p1HQ/QU87azdghkVsJDRVz5mq MeLajW6/kVO3c1L/NCd3tjELchg7X8wVJgNXgkdD8IzKSXR9C/ggxZUzty5m++HlH+HG 28C5IqxOBKlIhHDGJIqMGTfj/aEzLfIBSlXJZRBv4myGwQhf/NGED6WwrSC+gcTHyEGx AiNzOoYyWJ+HHFSOmcsEOTJ4qAnqZN+La9HzV8X34n4LBj0uhAhtc7ZkxEKouNUNsW+v LsCQ== X-Gm-Message-State: ACrzQf2f6uY7Brpqv8VWgmOQhy0Beqrgogo/5vHktc8ftrB5hpB/mk3a 7QAkOynFxuyGB1VX3zFiW3Mw15r9nP8= X-Received: by 2002:a17:90a:588a:b0:212:fa50:7dec with SMTP id j10-20020a17090a588a00b00212fa507decmr30593878pji.190.1667197210084; Sun, 30 Oct 2022 23:20:10 -0700 (PDT) Received: from [127.0.0.1] (master.gitmailbox.com. [34.83.118.50]) by smtp.gmail.com with ESMTPSA id i185-20020a62c1c2000000b0056c396f7539sm3670876pfg.157.2022.10.30.23.20.09 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 30 Oct 2022 23:20:09 -0700 (PDT) From: softworkz X-Google-Original-From: softworkz Message-Id: <6ec5e9960b725a21a4b0dad188d4eddd8b3571c5.1667197207.git.ffmpegagent@gmail.com> In-Reply-To: References: Date: Mon, 31 Oct 2022 06:19:57 +0000 Fcc: Sent MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH v2 01/11] avfilter/overlay_vaapi: use FILTER_SINGLE_PIXFMT 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: softworkz , "Xiang, Haihao" , Gyan Doshi Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: WJUK5GLirmjy From: softworkz Signed-off-by: softworkz --- libavfilter/vf_overlay_vaapi.c | 30 +----------------------------- 1 file changed, 1 insertion(+), 29 deletions(-) diff --git a/libavfilter/vf_overlay_vaapi.c b/libavfilter/vf_overlay_vaapi.c index 3e6a0de13f..218daf571f 100644 --- a/libavfilter/vf_overlay_vaapi.c +++ b/libavfilter/vf_overlay_vaapi.c @@ -38,34 +38,6 @@ typedef struct OverlayVAAPIContext { float alpha; } OverlayVAAPIContext; -static int overlay_vaapi_query_formats(AVFilterContext *ctx) -{ - int ret; - enum { - MAIN = 0, - OVERLAY = 1, - }; - - static const enum AVPixelFormat pix_fmts[] = { - AV_PIX_FMT_VAAPI, - AV_PIX_FMT_NONE - }; - - ret = ff_formats_ref(ff_make_format_list(pix_fmts), &ctx->inputs[MAIN]->outcfg.formats); - if (ret < 0) - return ret; - - ret = ff_formats_ref(ff_make_format_list(pix_fmts), &ctx->inputs[OVERLAY]->outcfg.formats); - if (ret < 0) - return ret; - - ret = ff_formats_ref(ff_make_format_list(pix_fmts), &ctx->outputs[0]->incfg.formats); - if (ret < 0) - return ret; - - return 0; -} - static int overlay_vaapi_build_filter_params(AVFilterContext *avctx) { VAAPIVPPContext *vpp_ctx = avctx->priv; @@ -418,6 +390,6 @@ const AVFilter ff_vf_overlay_vaapi = { .activate = &overlay_vaapi_activate, FILTER_INPUTS(overlay_vaapi_inputs), FILTER_OUTPUTS(overlay_vaapi_outputs), - FILTER_QUERY_FUNC(overlay_vaapi_query_formats), + FILTER_SINGLE_PIXFMT(AV_PIX_FMT_VAAPI), .flags_internal = FF_FILTER_FLAG_HWFRAME_AWARE, }; From patchwork Mon Oct 31 06:19:58 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 39080 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:8e01:b0:a3:a294:714c with SMTP id y1csp731433pzj; Sun, 30 Oct 2022 23:21:31 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7kJK4z0QDE4B0nXlb6ofFQRPU3Id7Te6qu0kQhZzDrpz3SJaZvHxhRK8Ae8uiho5RC1aZJ X-Received: by 2002:a17:906:ef8f:b0:7ad:917c:993a with SMTP id ze15-20020a170906ef8f00b007ad917c993amr11121267ejb.279.1667197290994; Sun, 30 Oct 2022 23:21:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1667197290; cv=none; d=google.com; s=arc-20160816; b=BWRsEtka3Lv13HQTu3RZa9rp53CGSt3w1zkKv3mfHzrV+C1WIugu/TKYi8KzXwcHAg RtVaazxjOFfdQIDUhN0FHgsQTh6rLzLgfoDbSS0U7Eg7Wzxu8W+bcbH48VnJZKFluTje 4dkUe6IHWbKkhJbMpRIR3ISFDfdHl6Sn4hAev/WLUCYXCt0KsLLmb0x8r8z0mzoUQ7Ck HbhmGn3n7GYpViWpJu1G8x+t4kcS/juPM8df/QL047eZN+NNaYLubfUBUcsf/27Sg+Tg rRNFULzGwJcyONBkzxicRgwGpR0uZukC9LjClnLY92paTI7WbqBXZOHZtiHHMzvMC49x bpWA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:to:mime-version:fcc:date:references :in-reply-to:message-id:from:dkim-signature:delivered-to; bh=YjlFwpR6mlQict86As8CFnNCepPvqz5dvEhP9jq1L5M=; b=IH5Ca4jrxDIQ583HNuxwNhPEKdUBdDWr1A1K/KgHkUCF23MVb9sRuiaTC9fehfLhnM 7EUx2gJFIzbLu0zkXZRhkn8YgUzGFeLIL479Gs5ZzAJpcSfEEEOwdfN/Pv42YeHvnEp9 yNEr4JrcJWhmJpa/2H9athDYmXcGiMyeOFkZOfdB3Eq6KDz/cR82KaMIMz6L1J/0+XQy 66U7a1QmcDp/D8j1rU2RYtDvZkYrGAT6C8p3gvuaoB2wOjRsxK80VncrWISRYcM8edv1 cc9eTZbt4ysOEWB1vJCtMqma+vQBiSX0lcLECRNUF+XcQpcrjK1Lh10WjE1nNUv1SUa/ EmEQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=ACkUah1c; 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=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id gz25-20020a170907a05900b0078dcdb1c9dfsi6234158ejc.553.2022.10.30.23.21.30; Sun, 30 Oct 2022 23:21:30 -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=@gmail.com header.s=20210112 header.b=ACkUah1c; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4AB9368BE15; Mon, 31 Oct 2022 08:20:31 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pg1-f175.google.com (mail-pg1-f175.google.com [209.85.215.175]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2C9B268BD31 for ; Mon, 31 Oct 2022 08:20:13 +0200 (EET) Received: by mail-pg1-f175.google.com with SMTP id h2so9882035pgp.4; Sun, 30 Oct 2022 23:20:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date :references:in-reply-to:message-id:from:from:to:cc:subject:date :message-id:reply-to; bh=b+2RJpV5rlJ7n3cr4g7nQubynWHl8z3K+sZBQ/qlaQ8=; b=ACkUah1ctlrcn27uqAXoBKI8lGGi4QN5Gkd53b1t6TecNohGlKiiwyWYrflo+Zrzfp vOBSItlHwyczYk1srOJLWl4USvqMUltG/+F18HDRnsyvxOApAHnzPW+FnVSllKsecA3q cyJeRH0f2+4vvwY0SW/+xqq5mCjmkA6V2VVqyCtUquNaA8KtQfrGgvs3yS7ZMj2qrpHS Jqpj05EryKNy8pkrTctyxx9pg6/jL8G/yFYo6BSrh9E0e0jWQDD9+y8CTR8pThftRfE4 pE+10o6xXNxKtUY1s5qziOvzv0Hv5y4aDZ0vLaQ8ynp1oRURwAfK/iK8DXuL6d80hOep FggA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date :references:in-reply-to:message-id:from:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=b+2RJpV5rlJ7n3cr4g7nQubynWHl8z3K+sZBQ/qlaQ8=; b=pJlsn/6wzWt42+YbXn+EE2dl7cazT8XHK0Ibu4h8DvAhTl19OA+b3S0xpi7PSu+vSx xyhO0xqNB8TID2CNxU6rU6xnaznPoOTbDmZnAuA1W9z2MiT6rbczjErQn4iiO/kN3HZy vQ771pvjR2a5L5c7zFBA3i2UPThvSKaSpnMe4gXykCovpNNQjv6DgLYo7dpFcqys5hyG WHGLMpldI9aH6oGcWHinumSYRnK7Mp4hfxFi2gZQDG1WrgPtuOHuRZyNcZjP3lep3nup Ys/Vx5E6QXPeUZnA6dAbhQbroHuAYosy8TIB/hBoNi9aoKjWTq92RdciDOIs14ZRqeh8 83+g== X-Gm-Message-State: ACrzQf3UlKktALUtYbyMpvQyLso/HMpvU9FE2m6lzb4sxrUZDk613jB3 X52Jn5w8NOSIzKvpYYWsG+Dm9RqOBAc= X-Received: by 2002:a63:2221:0:b0:43b:f4a3:80cc with SMTP id i33-20020a632221000000b0043bf4a380ccmr11105499pgi.367.1667197210964; Sun, 30 Oct 2022 23:20:10 -0700 (PDT) Received: from [127.0.0.1] (master.gitmailbox.com. [34.83.118.50]) by smtp.gmail.com with ESMTPSA id g10-20020a170902d1ca00b00186c9d17af2sm3642132plb.17.2022.10.30.23.20.10 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 30 Oct 2022 23:20:10 -0700 (PDT) From: softworkz X-Google-Original-From: softworkz Message-Id: <3c1629de97dbdcd19480c190434e1a964e865b52.1667197207.git.ffmpegagent@gmail.com> In-Reply-To: References: Date: Mon, 31 Oct 2022 06:19:58 +0000 Fcc: Sent MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH v2 02/11] avfilter/overlay_vaapi: build filter params just once 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: softworkz , "Xiang, Haihao" , Gyan Doshi Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 4O1dDNqKNBnf From: softworkz Signed-off-by: softworkz --- libavfilter/vf_overlay_vaapi.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libavfilter/vf_overlay_vaapi.c b/libavfilter/vf_overlay_vaapi.c index 218daf571f..cf17426b5d 100644 --- a/libavfilter/vf_overlay_vaapi.c +++ b/libavfilter/vf_overlay_vaapi.c @@ -181,10 +181,6 @@ static int overlay_vaapi_blend(FFFrameSync *fs) VARectangle overlay_region, output_region; int err; - err = overlay_vaapi_build_filter_params(avctx); - if (err < 0) - return err; - err = ff_framesync_get_frame(fs, 0, &input_main, 0); if (err < 0) return err; @@ -309,6 +305,10 @@ static int overlay_vaapi_config_output(AVFilterLink *outlink) if (err < 0) return err; + err = overlay_vaapi_build_filter_params(avctx); + if (err < 0) + return err; + err = ff_framesync_init_dualinput(&ctx->fs, avctx); if (err < 0) return err; From patchwork Mon Oct 31 06:19:59 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 39073 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:8e01:b0:a3:a294:714c with SMTP id y1csp731006pzj; Sun, 30 Oct 2022 23:20:25 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4s3tt1GolYHXAYrLcXGjityENMWtC92agREC7vpXhB4XSKumq9Eflqrcx+qUgw7MW0/ky+ X-Received: by 2002:a05:6402:84d:b0:454:f41d:6ccf with SMTP id b13-20020a056402084d00b00454f41d6ccfmr11988115edz.129.1667197225207; Sun, 30 Oct 2022 23:20:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1667197225; cv=none; d=google.com; s=arc-20160816; b=zg6h3SbfOABmAUIm8PivqrRJmD9QK+YvJ4wI8WNkbEPp1vIwthSHZtkpuCNLMXYn2O m3bAGNSe5tmQrSEVUP9xZUvjYy1FGrLQ7JX60xBDpV+BhffpMSAkV1GbxNy83Syq8+lL 60hlicIYEGxPbj/Yda3+hnK19zck/GgaHX81bB/vd7GdYmGIqrqx7BDVwe0c8aHjDesH wczrkAHNK3LI8tTuPPkjf2LZUPLjfDHhEBy3Oro0C7UHDFZnYJAKPuxexpahikKORRfx 4UQoLKvG3dMTEJaGI+V3uWu+//2fQ3UxyosxyEVHi1uIaka9To1hmy4SsupRJMLx99EY H9Ng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:to:mime-version:fcc:date:references :in-reply-to:message-id:from:dkim-signature:delivered-to; bh=DjsnIDSwt4ZFmairkJqRh/aLGG5P5mI8BklfnEfWuVs=; b=VpbsyKva5RddY0SZ9dCbtWYxdOEHg9Qy8e+fKdH6vSTbMOQRpMxWGbMShwM5pu16S6 FDgX6uSGE6nfuUsL2MsTNSt4C79xU4fwlN96dInNUg5exVQtnWPeCJdCshZPcJQ5/+X+ AIcLMsr8nD89yJdDuT0a15WJsn1nBAlQvnLHYAIuyGXxdjAdOh+ax4VBpDNMC+dQGlhk vVHtEtkbCV0nVjUvyT22aF/Gj3l+aY884xF7cco/tx3XiMkWTS/ipSXKCXRdPzSbNFyA MY1MXhlOSfcTY2ZbEsht5RliLqWrMOgWUGMmVpowsAGCUUHkXh7n2IHrq4CuHmYY7iYO PcQQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b="edE2u6Q/"; 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=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id nc4-20020a1709071c0400b007adc0d5ad94si5178200ejc.938.2022.10.30.23.20.24; Sun, 30 Oct 2022 23:20:25 -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=@gmail.com header.s=20210112 header.b="edE2u6Q/"; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 28A6268BDB8; Mon, 31 Oct 2022 08:20:21 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.173]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4B7CB68BD68 for ; Mon, 31 Oct 2022 08:20:14 +0200 (EET) Received: by mail-pl1-f173.google.com with SMTP id p3so9887558pld.10; Sun, 30 Oct 2022 23:20:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date :references:in-reply-to:message-id:from:from:to:cc:subject:date :message-id:reply-to; bh=qBtc49Yhz04Ls0at0l1X8Z+WY0GwRn0aN79XFeVtAkk=; b=edE2u6Q/kPPvu1SfD0Odo56N2f6EwobnVKag0KBgDqIwGwWSRmhuFKWrxL5RBuzbWQ cZNDniF9U6Jzbwx/WGEMkcRNabJlR7p5mje+jKc/7So7Y5pxPLFvdCltPEm/eIbPk/S/ l5xro8NNOyklcjhf9uHwJL4fdGWXthl9edmaE2Xzg8SYm3JQmNgs3eQvMlYxJ7GFXTLy 3sUWRrJ3ACf+OLpeGFf4V6dBXDlsQjEZYnhQYEHRK80t1caQbT5U1OvNaoAVzkbeeQFr ds0ibhzkKc8CJJAPUDgh953arXEwvXlhKkOeN1Tnv46Lhb2D2iMXdqQWK6DvEQ2foZes Po6A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date :references:in-reply-to:message-id:from:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=qBtc49Yhz04Ls0at0l1X8Z+WY0GwRn0aN79XFeVtAkk=; b=vo310LDssf9j6WZxJaNBly0b3U4l+MnYo1hvSJPkw+KNElHhKnZieGY7D88Z258vy+ YhIUthwnKRX2k1v8309npvOnHjHLovtf0gzzZze76BvEeko7LiBeniaN7YpZQoUwC3E0 M7R2iT7DVVVlkWeZFHESwLhmDhe/EpwoxYCYz3kFlh3J7is8V+UE2na8Kcf2M+FguI2T GZyAy+tW05sTISjUjATDVh2EdyOMSTWPxxH3Roo9IpCGmfVFXE9Pt7k/zAjpK5xoAPIB ALuu16hNVFuL9kUV1kYk3Xnasr5dA4rxCduk85JXrISDlpzA1/49kJghK8UOtH56OXKA NEIg== X-Gm-Message-State: ACrzQf1S8ADv3i3npySfv8H6yOXl/BHHGBSJpk2/rBIa/bdQDz/duEFA McldpWaB0QyYO5/vPvXZRBColA1KHJk= X-Received: by 2002:a17:903:230b:b0:186:6041:51bf with SMTP id d11-20020a170903230b00b00186604151bfmr12321593plh.24.1667197211691; Sun, 30 Oct 2022 23:20:11 -0700 (PDT) Received: from [127.0.0.1] (master.gitmailbox.com. [34.83.118.50]) by smtp.gmail.com with ESMTPSA id e2-20020aa79802000000b0056b6acb58a0sm3678180pfl.102.2022.10.30.23.20.11 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 30 Oct 2022 23:20:11 -0700 (PDT) From: softworkz X-Google-Original-From: softworkz Message-Id: <2bd535abb506d1af278e1146de38529c22ed625b.1667197207.git.ffmpegagent@gmail.com> In-Reply-To: References: Date: Mon, 31 Oct 2022 06:19:59 +0000 Fcc: Sent MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH v2 03/11] avfilter/overlay_vaapi: remove double framesync init 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: softworkz , "Xiang, Haihao" , Gyan Doshi Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 5vicVb2eS19e From: softworkz Signed-off-by: softworkz --- libavfilter/vf_overlay_vaapi.c | 31 +++++-------------------------- 1 file changed, 5 insertions(+), 26 deletions(-) diff --git a/libavfilter/vf_overlay_vaapi.c b/libavfilter/vf_overlay_vaapi.c index cf17426b5d..66e736cce4 100644 --- a/libavfilter/vf_overlay_vaapi.c +++ b/libavfilter/vf_overlay_vaapi.c @@ -265,28 +265,6 @@ fail: return err; } -static int overlay_vaapi_init_framesync(AVFilterContext *avctx) -{ - OverlayVAAPIContext *ctx = avctx->priv; - int ret, i; - - ctx->fs.on_event = overlay_vaapi_blend; - ctx->fs.opaque = ctx; - ret = ff_framesync_init(&ctx->fs, avctx, avctx->nb_inputs); - if (ret < 0) - return ret; - - for (i = 0; i < avctx->nb_inputs; i++) { - FFFrameSyncIn *in = &ctx->fs.in[i]; - in->before = EXT_STOP; - in->after = EXT_INFINITY; - in->sync = i ? 1 : 2; - in->time_base = avctx->inputs[i]->time_base; - } - - return ff_framesync_configure(&ctx->fs); -} - static int overlay_vaapi_config_output(AVFilterLink *outlink) { AVFilterContext *avctx = outlink->src; @@ -294,10 +272,7 @@ static int overlay_vaapi_config_output(AVFilterLink *outlink) VAAPIVPPContext *vpp_ctx = avctx->priv; int err; - err = overlay_vaapi_init_framesync(avctx); - if (err < 0) - return err; - + outlink->time_base = avctx->inputs[0]->time_base; vpp_ctx->output_width = avctx->inputs[0]->w; vpp_ctx->output_height = avctx->inputs[0]->h; @@ -313,6 +288,10 @@ static int overlay_vaapi_config_output(AVFilterLink *outlink) if (err < 0) return err; + ctx->fs.on_event = overlay_vaapi_blend; + ctx->fs.opaque = ctx; + ctx->fs.time_base = outlink->time_base; + return ff_framesync_configure(&ctx->fs); } From patchwork Mon Oct 31 06:20:00 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 39083 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:8e01:b0:a3:a294:714c with SMTP id y1csp731581pzj; Sun, 30 Oct 2022 23:21:56 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6kWUkoSk/LHH7xnQujn5ji4vbuxVm5PALfZ4hP37Am1ohfi9yWuO9jD4pfO1rYZKQJOrrh X-Received: by 2002:a17:906:dac8:b0:741:545b:796a with SMTP id xi8-20020a170906dac800b00741545b796amr11309432ejb.240.1667197315845; Sun, 30 Oct 2022 23:21:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1667197315; cv=none; d=google.com; s=arc-20160816; b=XJuwBbImuDFVXkWCWq3AvRbQMCjuvWIAsDrfpWqtEQIGMzoyGul4irwv+JluxSAwoN lSnuevgCNsxq6cwrWxfnbXmB3uBQ2Xigo59Oe5rsOt1XJ/Z5mK54Tj1x6mg8DsJD7Xoa g4zEELkw1CYTvpJQdhPMvl+SHPpG4CV0Hnp9+0O9PPckrzCE9FdbkjSQkTuSEnLxc3h3 l963lKn8Tlp5YjYNUAKe4WiEQJ4uM6uImG/vwa1lXIjwtr4D1KFfp7/7Don3QpCXx5Ma z+48zDAYZd7WtVkDBIEUqHjYxDIFaW3Mm+l9fLJ1iY3sLQOjEZv5j9wSB5AnVLaLGoUo kuZg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:to:mime-version:fcc:date:references :in-reply-to:message-id:from:dkim-signature:delivered-to; bh=SiIaHJ0kbax8r06TeDjO1OeI/EQJQko5flIGhbF82KQ=; b=n1YUIdWTU2Jlb+CK9PLysxKc7NJyStz2beGjCAMw1hcfvn5bJAp0Y0O348R1a6PC6e i+R7bgrS+3iQp13+w0efMH+OUm5F01OmC5qw7yNYhOyVk6evDj7HxuSS/F2aiaiC+y3e B6Fio1AxkrxZ609Apz3c3vjfLoopobQ+5pGj2vm0CcV8pGV1RZpqsDJgUE1BrAuQUPdt 2FCX8Dum6uMTJS28xc4i+d18zo2SHHRN//Ta2q8i6FCt+P8UvXsidMc8kHS8VDndIdhR J7yWm0hzPFvisRv1A/EpOEO5j1/vgAi/3TGDtUixthygZLLGo6YRoIZlRE7PIWkiscXi yy5A== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=qAum52AJ; 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=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id qk37-20020a1709077fa500b0078dce2b1985si7663310ejc.134.2022.10.30.23.21.55; Sun, 30 Oct 2022 23:21:55 -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=@gmail.com header.s=20210112 header.b=qAum52AJ; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 83EF568BE22; Mon, 31 Oct 2022 08:20:34 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f49.google.com (mail-pj1-f49.google.com [209.85.216.49]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 089A568BD3C for ; Mon, 31 Oct 2022 08:20:14 +0200 (EET) Received: by mail-pj1-f49.google.com with SMTP id d13-20020a17090a3b0d00b00213519dfe4aso9465164pjc.2; Sun, 30 Oct 2022 23:20:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date :references:in-reply-to:message-id:from:from:to:cc:subject:date :message-id:reply-to; bh=LJFrx32BhsR1JGS95uspSe/It+1V+hDKXLRZXKUA1Zs=; b=qAum52AJO1aqHWnUi9AEKcdvIe7NYroZ/43vvk/V6AAOLxSsvG9pWFCmqAnrgd8nRg eEyveNBftd4dgpLu55tblCQKi2FYFAnf9Y2PXP+y8YCLE4yVcHFGbjD0nBwXNxrL7qKX FIJ/iD1UTyojTxVxvzB0jRy3tOp3pdc1tKlPt6+MCg9Sxg9cJNoiQ60VOWRB3Nc11hvD PRi0O6wyYBMZVEECOApujhSRbaOJnwkEe/JVgaPTcHHc7wSKMuf2Yo7akyXJeb9T7qhU wd0CKSJVPCw0+XgSUM0YEYfBQ6D6IrvMgckGMunqp5xcEmiRY22pebq1msr6TsvMfBkk sAnw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date :references:in-reply-to:message-id:from:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=LJFrx32BhsR1JGS95uspSe/It+1V+hDKXLRZXKUA1Zs=; b=iK2vzXonYJlHWp/iYBmsK0YXrpXyJcbbSeOf7HuE9zCdlj/YMgrFpGJAiW6a6Zr0wq uq2gkynKBkJJjL8HGYynYLlIyauoKY8VGE8lkYnlFK66eDPQAhqi8jK3j6guOm9JdaFr 37D0X/5BoAo/XQU84fv4ScvIYefs8K/uv8e9Gaf+JdENZZ9DllXbgysawFoZPAf/Il17 MU/BL9cuYbEg4j50CLcj9WsnMiURh5RAw2+22R3yf8FfDGRtEPNTvr8FSSFL07Li+fim b7GnS6IrXf0H8+AMdfR36m3ugtra8A71f5uFS0KbaA89qE8Y7x8LyGANGzSRwY/Q6M2W IMsg== X-Gm-Message-State: ACrzQf3y4GktktPbJkeY0ItErkjcMpJ4WP6MdKNG5x3QOFFUWv8zb/Ks X1xyfZ/9pI5/iO5c/Gfhbr81pcWGwTo= X-Received: by 2002:a17:902:c40a:b0:186:ba20:76fa with SMTP id k10-20020a170902c40a00b00186ba2076famr12699618plk.55.1667197212317; Sun, 30 Oct 2022 23:20:12 -0700 (PDT) Received: from [127.0.0.1] (master.gitmailbox.com. [34.83.118.50]) by smtp.gmail.com with ESMTPSA id h13-20020a170902680d00b00174d9bbeda4sm3601049plk.197.2022.10.30.23.20.11 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 30 Oct 2022 23:20:12 -0700 (PDT) From: softworkz X-Google-Original-From: softworkz Message-Id: In-Reply-To: References: Date: Mon, 31 Oct 2022 06:20:00 +0000 Fcc: Sent MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH v2 04/11] avfilter/overlay_vaapi: handle secondary null input 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: softworkz , "Xiang, Haihao" , Gyan Doshi Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: N5VI0nfQDVye From: softworkz Currently segfaults in this case. Signed-off-by: softworkz --- libavfilter/vf_overlay_vaapi.c | 94 ++++++++++++++++++---------------- 1 file changed, 49 insertions(+), 45 deletions(-) diff --git a/libavfilter/vf_overlay_vaapi.c b/libavfilter/vf_overlay_vaapi.c index 66e736cce4..1281038c36 100644 --- a/libavfilter/vf_overlay_vaapi.c +++ b/libavfilter/vf_overlay_vaapi.c @@ -106,18 +106,6 @@ static int overlay_vaapi_render_picture(AVFilterContext *avctx, params_id); - vas = vaCreateBuffer(ctx->hwctx->display, ctx->va_context, - VAProcPipelineParameterBufferType, - sizeof(*subpic_params), 1, subpic_params, &subpic_params_id); - if (vas != VA_STATUS_SUCCESS) { - av_log(avctx, AV_LOG_ERROR, "Failed to create parameter buffer: " - "%d (%s).\n", vas, vaErrorStr(vas)); - err = AVERROR(EIO); - goto fail_after_begin; - } - av_log(avctx, AV_LOG_DEBUG, "Pipeline subpic parameter buffer is %#x.\n", - subpic_params_id); - vas = vaRenderPicture(ctx->hwctx->display, ctx->va_context, ¶ms_id, 1); if (vas != VA_STATUS_SUCCESS) { @@ -127,13 +115,27 @@ static int overlay_vaapi_render_picture(AVFilterContext *avctx, goto fail_after_begin; } - vas = vaRenderPicture(ctx->hwctx->display, ctx->va_context, - &subpic_params_id, 1); - if (vas != VA_STATUS_SUCCESS) { - av_log(avctx, AV_LOG_ERROR, "Failed to render subpic parameter buffer: " - "%d (%s).\n", vas, vaErrorStr(vas)); - err = AVERROR(EIO); - goto fail_after_begin; + if (subpic_params) { + vas = vaCreateBuffer(ctx->hwctx->display, ctx->va_context, + VAProcPipelineParameterBufferType, + sizeof(*subpic_params), 1, subpic_params, &subpic_params_id); + if (vas != VA_STATUS_SUCCESS) { + av_log(avctx, AV_LOG_ERROR, "Failed to create parameter buffer: " + "%d (%s).\n", vas, vaErrorStr(vas)); + err = AVERROR(EIO); + goto fail_after_begin; + } + av_log(avctx, AV_LOG_DEBUG, "Pipeline subpic parameter buffer is %#x.\n", + subpic_params_id); + + vas = vaRenderPicture(ctx->hwctx->display, ctx->va_context, + &subpic_params_id, 1); + if (vas != VA_STATUS_SUCCESS) { + av_log(avctx, AV_LOG_ERROR, "Failed to render subpic parameter buffer: " + "%d (%s).\n", vas, vaErrorStr(vas)); + err = AVERROR(EIO); + goto fail_after_begin; + } } vas = vaEndPicture(ctx->hwctx->display, ctx->va_context); @@ -177,7 +179,7 @@ static int overlay_vaapi_blend(FFFrameSync *fs) AVFrame *input_main, *input_overlay; AVFrame *output; VAProcPipelineParameterBuffer params, subpic_params; - VABlendState blend_state; /**< Blend State */ + VABlendState blend_state = { 0 }; /**< Blend State */ VARectangle overlay_region, output_region; int err; @@ -192,10 +194,6 @@ static int overlay_vaapi_blend(FFFrameSync *fs) av_get_pix_fmt_name(input_main->format), input_main->width, input_main->height, input_main->pts); - av_log(avctx, AV_LOG_DEBUG, "Filter overlay: %s, %ux%u (%"PRId64").\n", - av_get_pix_fmt_name(input_overlay->format), - input_overlay->width, input_overlay->height, input_overlay->pts); - if (vpp_ctx->va_context == VA_INVALID_ID) return AVERROR(EINVAL); @@ -214,13 +212,6 @@ static int overlay_vaapi_blend(FFFrameSync *fs) if (err < 0) goto fail; - overlay_region = (VARectangle) { - .x = ctx->overlay_ox, - .y = ctx->overlay_oy, - .width = ctx->overlay_ow ? ctx->overlay_ow : input_overlay->width, - .height = ctx->overlay_oh ? ctx->overlay_oh : input_overlay->height, - }; - output_region = (VARectangle) { .x = 0, .y = 0, @@ -228,29 +219,42 @@ static int overlay_vaapi_blend(FFFrameSync *fs) .height = output->height, }; - if (overlay_region.x + overlay_region.width > input_main->width || - overlay_region.y + overlay_region.height > input_main->height) { - av_log(ctx, AV_LOG_WARNING, - "The overlay image exceeds the scope of the main image, " - "will crop the overlay image according based on the main image.\n"); - } - params.filters = &vpp_ctx->filter_buffers[0]; params.num_filters = vpp_ctx->nb_filter_buffers; params.output_region = &output_region; params.output_background_color = VAAPI_VPP_BACKGROUND_BLACK; - memcpy(&subpic_params, ¶ms, sizeof(subpic_params)); + if (input_overlay) { + av_log(avctx, AV_LOG_DEBUG, "Filter overlay: %s, %ux%u (%"PRId64").\n", + av_get_pix_fmt_name(input_overlay->format), + input_overlay->width, input_overlay->height, input_overlay->pts); + + overlay_region = (VARectangle) { + .x = ctx->overlay_ox, + .y = ctx->overlay_oy, + .width = ctx->overlay_ow ? ctx->overlay_ow : input_overlay->width, + .height = ctx->overlay_oh ? ctx->overlay_oh : input_overlay->height, + }; + + if (overlay_region.x + overlay_region.width > input_main->width || + overlay_region.y + overlay_region.height > input_main->height) { + av_log(ctx, AV_LOG_WARNING, + "The overlay image exceeds the scope of the main image, " + "will crop the overlay image according based on the main image.\n"); + } + + memcpy(&subpic_params, ¶ms, sizeof(subpic_params)); - blend_state.flags = VA_BLEND_GLOBAL_ALPHA; - blend_state.global_alpha = ctx->alpha; - subpic_params.blend_state = &blend_state; + blend_state.flags = VA_BLEND_GLOBAL_ALPHA; + blend_state.global_alpha = ctx->alpha; + subpic_params.blend_state = &blend_state; - subpic_params.surface = (VASurfaceID)(uintptr_t)input_overlay->data[3]; - subpic_params.output_region = &overlay_region; + subpic_params.surface = (VASurfaceID)(uintptr_t)input_overlay->data[3]; + subpic_params.output_region = &overlay_region; + } - err = overlay_vaapi_render_picture(avctx, ¶ms, &subpic_params, output); + err = overlay_vaapi_render_picture(avctx, ¶ms, input_overlay ? &subpic_params : NULL, output); if (err < 0) goto fail; From patchwork Mon Oct 31 06:20:01 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 39074 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:8e01:b0:a3:a294:714c with SMTP id y1csp731048pzj; Sun, 30 Oct 2022 23:20:34 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7NHRc4mXg9NiaUVB6LtUEM8j4uPkJpgEmubVi9o8Z2JjQNTgd3PbPN4BPtB5vROAme7q0X X-Received: by 2002:a05:6402:847:b0:453:943b:bf4 with SMTP id b7-20020a056402084700b00453943b0bf4mr12067007edz.301.1667197233811; Sun, 30 Oct 2022 23:20:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1667197233; cv=none; d=google.com; s=arc-20160816; b=wjDQ/SIBPU5labowMMq71CMmYN9EY1ejpAMP4FgiA10IogKDzFsuMpD/jTS6tMPbqC q3MohJGkaBqAkUhtKCX2hRuYAbQV1NmuaxtAH36CiTTEWDiH4n/KLVHn4AnZtB7d/nf1 DaJawNsOvQ5lX8rU67RwF7pvqOwEeJIina9OmwFktQbO6eIxAoI59kVgNSgBmklJbrlZ 5l9mqygVQv2UbmgYnKvFir7+2XfsIIIiW0lRwsowPZJAdcgKRn8lfHgDocjcpXr+9BDr D0h56T2cNDCMuXowKmK25RcpjvPualSv0KmRUBw20CjA4BmEpDLpMG60krBNqeAX1+At xB6w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:to:mime-version:fcc:date:references :in-reply-to:message-id:from:dkim-signature:delivered-to; bh=Ct3am5mRay6XL+uJ7Sc2AI+/3W8ibjVmDfAesJGJDhE=; b=i5JNj6EFkqcSfZlo88WIzyfxC82JwFLUyHcUJTxdBVWDOyG4cKrP2h+NpX1AB1e8RH BeO+Y1P+GL67Wlrcyz83sHLekUY7ufWv0Z/0KdiMtCgb9y9iG3b2T/h4odES8l7fHc77 3FavoVKpwMXokO7ZwtgwtyTcoI4KvemPX84yu6FBcgQzJrkYGVCFxrEssCwmQUIiKaM2 S05tVtzea8nOWxTjTnBzUoXUYvPNbldLQGcDAj8e0IX1mxP2+R6F365e1++O6FZXgxkZ FdNmiFIwYwTHBqO2SznbxXuE9lgJsyFM2bm6GSfCuIC4WRtXoSmXW1a63Vuf0xnG6a9b EaBQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=ZE7IMq7V; 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=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id hz4-20020a1709072ce400b007830f14fffesi8360019ejc.375.2022.10.30.23.20.33; Sun, 30 Oct 2022 23:20:33 -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=@gmail.com header.s=20210112 header.b=ZE7IMq7V; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 2814668BCEA; Mon, 31 Oct 2022 08:20:22 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f51.google.com (mail-pj1-f51.google.com [209.85.216.51]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B4BE668BD68 for ; Mon, 31 Oct 2022 08:20:14 +0200 (EET) Received: by mail-pj1-f51.google.com with SMTP id 3-20020a17090a0f8300b00212d5cd4e5eso14994762pjz.4; Sun, 30 Oct 2022 23:20:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date :references:in-reply-to:message-id:from:from:to:cc:subject:date :message-id:reply-to; bh=RjYt31V7ooCknXEy0XM51yGg6EfyFCaNWh2A8qAytMg=; b=ZE7IMq7VaeVdpNjh+1hCyUvLyl49pxOj3wLDi11QFqG2Y5H/eY4Y7xioL95qLVLSK4 pQdz/nSAplPAzE0RkbHH+ZjAare765QiWhR9HZO94a3Fn9iWS5b529RGHG/nLDqSK48f shZXaoInNBrZ+so0iKESTKLzoC6AvWfvNw/AYC/Lj32DTtLpYqidfzLTmSx0+oPeK2BI EtFxcaeFU3NrYVMEZB7ksa5O7GkpnvCZXqCu1qCey0b+3VrMT0dHVRTppOeskvDzO/z7 VbCUKnvWiJj4zA0yHzxjOWABHWd8+fLwJBYd7gtCy9GBfT11dilbeRzVWFzuImRCILyl ZFGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date :references:in-reply-to:message-id:from:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=RjYt31V7ooCknXEy0XM51yGg6EfyFCaNWh2A8qAytMg=; b=nJyZBiPjuiK3SXSEfSA0YRYjLOePSVfM7GH90D27SyDTksa62gu8vOMK08kmdewQhs 3B4uxA8A3UXso8NTByunRzGmYdvUiqizQb00grnkjsg4F2+OEwAUf0iTjYnhclQT3luu QNCxJNmxTSUW+zqAcaYesB9FOSS3w6WzQgVIeeUn3kia7w7oWVqCsMS+HGpzdkOHCQVb 1Usvv0nRkqgG3owcAbWLDoOBbxsnRXAJlTl3ZVwqZ1OVBppsYJCJrLlsu1ZUQZD0oyno ldYA3a8/zGij7l1SF5Tpft+z2QvboU0kQpBX5+WmijZRNOqIPx52Y19MnLoC71c2ezKW TJtQ== X-Gm-Message-State: ACrzQf1LasgTB7GTeQd4dUGXY2y1hsrJKNZydhIQ/aEiXuy7ECyLaeWy NL7LnLBPSc5DQyi/9VfS3CLY3UTP84M= X-Received: by 2002:a17:903:124c:b0:184:cb7e:67c5 with SMTP id u12-20020a170903124c00b00184cb7e67c5mr12889988plh.117.1667197213101; Sun, 30 Oct 2022 23:20:13 -0700 (PDT) Received: from [127.0.0.1] (master.gitmailbox.com. [34.83.118.50]) by smtp.gmail.com with ESMTPSA id j1-20020a170902c3c100b0017dd8c8009esm3639983plj.4.2022.10.30.23.20.12 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 30 Oct 2022 23:20:12 -0700 (PDT) From: softworkz X-Google-Original-From: softworkz Message-Id: <6624c66688a5b6bfbc7fcf427c45f2821ca28d45.1667197207.git.ffmpegagent@gmail.com> In-Reply-To: References: Date: Mon, 31 Oct 2022 06:20:01 +0000 Fcc: Sent MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH v2 05/11] avfilter/overlay_vaapi: reformat options 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: softworkz , "Xiang, Haihao" , Gyan Doshi Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: xXZR3MbGlolr From: softworkz Signed-off-by: softworkz --- libavfilter/vf_overlay_vaapi.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/libavfilter/vf_overlay_vaapi.c b/libavfilter/vf_overlay_vaapi.c index 1281038c36..c14aacbb5d 100644 --- a/libavfilter/vf_overlay_vaapi.c +++ b/libavfilter/vf_overlay_vaapi.c @@ -326,16 +326,11 @@ static av_cold void overlay_vaapi_uninit(AVFilterContext *avctx) #define OFFSET(x) offsetof(OverlayVAAPIContext, x) #define FLAGS (AV_OPT_FLAG_FILTERING_PARAM | AV_OPT_FLAG_VIDEO_PARAM) static const AVOption overlay_vaapi_options[] = { - { "x", "Overlay x position", - OFFSET(overlay_ox), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, .flags = FLAGS }, - { "y", "Overlay y position", - OFFSET(overlay_oy), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, .flags = FLAGS }, - { "w", "Overlay width", - OFFSET(overlay_ow), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, .flags = FLAGS }, - { "h", "Overlay height", - OFFSET(overlay_oh), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, .flags = FLAGS }, - { "alpha", "Overlay global alpha", - OFFSET(alpha), AV_OPT_TYPE_FLOAT, { .dbl = 1.0}, 0.0, 1.0, .flags = FLAGS}, + { "x", "Overlay x position", OFFSET(overlay_ox), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, .flags = FLAGS }, + { "y", "Overlay y position", OFFSET(overlay_oy), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, .flags = FLAGS }, + { "w", "Overlay width", OFFSET(overlay_ow), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, .flags = FLAGS }, + { "h", "Overlay height", OFFSET(overlay_oh), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, .flags = FLAGS }, + { "alpha", "Overlay global alpha", OFFSET(alpha), AV_OPT_TYPE_FLOAT, { .dbl = 1.0 }, 0.0, 1.0, .flags = FLAGS }, { NULL }, }; From patchwork Mon Oct 31 06:20:02 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 39075 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:8e01:b0:a3:a294:714c with SMTP id y1csp731095pzj; Sun, 30 Oct 2022 23:20:41 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5eZddiukDFBY1/18zd2h1/EMHMuU9/2n0XQCxx44RktizQvh0XWZk2J7tCDjd8SlpTMUbk X-Received: by 2002:a17:907:1b12:b0:72f:9b44:f9e with SMTP id mp18-20020a1709071b1200b0072f9b440f9emr11097189ejc.653.1667197241269; Sun, 30 Oct 2022 23:20:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1667197241; cv=none; d=google.com; s=arc-20160816; b=W1OpI59bqthEvmEO36BRwa4+kA3Klq6hN+Eg10ueLnS9/dk8EvHqhNPpx9GThoVvOm RvKavz+poHKZRjdDq+jRE0xuCjxqyUjBx5PYvqrVL66O5U30WEHxcOVuLVpi8m+VUZSb Bvlq2uoK7meaTuQLdpoi8FiZ/9MTivv4M0oDK8V1xdOvBi42EvvWDzaU2+Y2jUAddAYD qEeznucfWJWVX1sdKSQ1nB4Vj7G2zuNISHt19trocgNb035ZOD+L/XPEgX4fxL3eOlD6 Ei0szg74RxxyfskXJDGrQ78GzCRTr6mzzuw5WsdJ61z+uQD08HpxPCYNN986Hy1V5D2x guXA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:to:mime-version:fcc:date:references :in-reply-to:message-id:from:dkim-signature:delivered-to; bh=ea8nBjIo0RlgVKkjaArKochN1rUR64l9Q/yUeiWuJhg=; b=mVPot/9DqHHMEi/yr0lfiNh/IU7QirR73o3WylcPGqdZ6B4BQsYIvh/0/T8AKZK082 3LWn8wYSG/M6WUNn+rcF0abAVDI4n6YUuIhx4i8Vl9e1dJ1T0F55xq6mUh5lRdtu3b1C CvzUWlMgzHYKTYZsUkd6STLHRu520QDPuP7O4/rJrBA83lzG+VlDuCBWWM9OSMaEV8aH XaxbXesyp8y/JrTIBVpVCQcwOlgbdWUZdJRt9zELHWEsEXWKemLihdLRvLF6pAWlYSES r5yjFgfMsNIVtw2KC8HKJ4/LyS6ofxFJKbeO5Rs4fh2BBTrMcniQYNNpyaNZW2Nf4aSZ IHTA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=ogHp5X3H; 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=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id sh7-20020a1709076e8700b007707aab3171si7464195ejc.848.2022.10.30.23.20.40; Sun, 30 Oct 2022 23:20:41 -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=@gmail.com header.s=20210112 header.b=ogHp5X3H; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 29FA068BC6E; Mon, 31 Oct 2022 08:20:25 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pg1-f182.google.com (mail-pg1-f182.google.com [209.85.215.182]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6302C68BB47 for ; Mon, 31 Oct 2022 08:20:15 +0200 (EET) Received: by mail-pg1-f182.google.com with SMTP id q71so9860270pgq.8; Sun, 30 Oct 2022 23:20:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date :references:in-reply-to:message-id:from:from:to:cc:subject:date :message-id:reply-to; bh=/mXMlkc65nolhc9k0XGKzQeIzs0yGYj5SMU01bLZBlY=; b=ogHp5X3Hf7QmJxx0RXpHlQHRf/atayxpSncrAXHS7cimJk0k3W16o7C0j8xZ4mz97q IEWhwyjaeHNbBCWMdGQ5fs5nXbOH+ofbs9cuYxnVgKCE8E1vKuCkEvOOENmhmdcuh1Jb XzjtEG1926Wdtp1JTU1toIATchE3PC1PhdyyfG16DM7AWBcMLhxRf6gEDfTWQ97knUQa q/d7lJ1LJX0zr4EB49qRV9LAtxkXKl777OJKxi9GbV3KnLl9oUqrD2by0VMD/W0Lo5+v IpKLQW/RJHayhj6XSyhOcSTUCIcuh4sbIbeDgmljQbGnnC3bbewr/zl+iUpsarSYoObj C+Yg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date :references:in-reply-to:message-id:from:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=/mXMlkc65nolhc9k0XGKzQeIzs0yGYj5SMU01bLZBlY=; b=z24CpFbEBcWXQLN3FFz/9PE36dhWgs50Tm30rw9dzt+JLAWnR/Zw/rEHP41Gw/HV6T LPG1kotFHMD3YTd9/gRAD0HhCNI+Du8A0BRak4CVxSg0HfL7c1T2RyrLUfDjYXvVWIhg D4MFgiyUuGaBbeFVTJVgReihhcfNXhgxb0OspyUhC5Wpd7XSl4zAUGFGO8dqAlfpnusj jg59quv/e4gHGyrcCNaJtrtrtLftP/TLo6otHsmSh23jh1TCmv19aSeufuMZLIE/DUL1 EDdcZOgRJGnAQPcEaAv36X6clK5LYdPPHVuNPa34lbhULwPYt0D4uKJdxowAEQq5bJTu b+qg== X-Gm-Message-State: ACrzQf3taLrVL8fg9EGxLmH7w6a/9AfJ9RL3qBhTWquLh6TQ7zDNtXl8 p4OaBMpw54KotavInSplpNjZsBC3BpQ= X-Received: by 2002:a05:6a00:22d3:b0:56d:6ff5:21d7 with SMTP id f19-20020a056a0022d300b0056d6ff521d7mr4157005pfj.3.1667197213731; Sun, 30 Oct 2022 23:20:13 -0700 (PDT) Received: from [127.0.0.1] (master.gitmailbox.com. [34.83.118.50]) by smtp.gmail.com with ESMTPSA id n4-20020a170903110400b001869394a372sm3624624plh.201.2022.10.30.23.20.13 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 30 Oct 2022 23:20:13 -0700 (PDT) From: softworkz X-Google-Original-From: softworkz Message-Id: <989f16597e9cc812e3ead85994f10217612160df.1667197207.git.ffmpegagent@gmail.com> In-Reply-To: References: Date: Mon, 31 Oct 2022 06:20:02 +0000 Fcc: Sent MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH v2 06/11] avfilter/overlay_vaapi: remove redundant .get_buffer assignments 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: softworkz , "Xiang, Haihao" , Gyan Doshi Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: kOGfC/BjdhEO From: softworkz Signed-off-by: softworkz --- libavfilter/vf_overlay_vaapi.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/libavfilter/vf_overlay_vaapi.c b/libavfilter/vf_overlay_vaapi.c index c14aacbb5d..71fc90a86b 100644 --- a/libavfilter/vf_overlay_vaapi.c +++ b/libavfilter/vf_overlay_vaapi.c @@ -340,13 +340,11 @@ static const AVFilterPad overlay_vaapi_inputs[] = { { .name = "main", .type = AVMEDIA_TYPE_VIDEO, - .get_buffer.video = ff_default_get_video_buffer, .config_props = &ff_vaapi_vpp_config_input, }, { .name = "overlay", .type = AVMEDIA_TYPE_VIDEO, - .get_buffer.video = ff_default_get_video_buffer, }, }; From patchwork Mon Oct 31 06:20:03 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 39076 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:8e01:b0:a3:a294:714c with SMTP id y1csp731137pzj; Sun, 30 Oct 2022 23:20:49 -0700 (PDT) X-Google-Smtp-Source: AMsMyM51knf5DDli7wMBH8v7PzuKynbWoVCgwuA4aGizTijmRgMSIzV34ZQhn15AlvQxDq+NyJoV X-Received: by 2002:a17:906:d550:b0:7ad:d367:fabb with SMTP id cr16-20020a170906d55000b007add367fabbmr3138490ejc.285.1667197249011; Sun, 30 Oct 2022 23:20:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1667197249; cv=none; d=google.com; s=arc-20160816; b=a3yTjqemRgMtsp1LU8xZL7dNzL4+ZWdA6KVgUc7kKULCKaZSY92/+FAHIpX6pkNBve 6roU3GADUZuloR04j2ix2yDwIsG67Wp8HnxpTfukgS9HfCzDE9MrmxVO8ep1icWjtqSC fyCSUc9QDvrunIlM70qh/ZQ6WyhQ/d9GsLyNwIzTuR1Y/gkZK7yr/wZuveZu4wf/Lnur hTGoglE7X2mchHdFK2m5Pw4uE3JqGTQJpso/Em/E90cdz9HihnycwqCQJhd8zph1ro3B /S3ylGo5s5W+x4R6ZChkyZ2Ktl3E9ZsTQ6iLalAli9GSwJ+o//ttrAX5Xf1wEQ1nOGRY yIqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:to:mime-version:fcc:date:references :in-reply-to:message-id:from:dkim-signature:delivered-to; bh=6xAoT7LhdsFKSHl/1HRDCaSpv+EgREMMlzhiTy/c8sw=; b=QP83nq5zscq1ZXMyxSzUuMsF2JB0vdFuC7GmEDlthlMS3x4f8vTcB2JmfB6cXqryMF /t8Phjj8mTwlWVWIiObkoIfszfOwAh4IgCkbCUaKzHwrxbPX6wl+sXOvgO6RvaY+2oOW ahNgr3FETAHt6d0nunHtahRNXXN57TjluCVA3ECcY2PiTc7SnyacNQEqxRmhNw6GeFc2 FyC8+4CgdULdYfhRRIp3OY0I5CXBkRFAZQkKPVDLvdpGXEH2ohLBIH1+h3bEe7MUMt8C x3lLbHNf9eJP6XcjgBhOHuvvorDjrmDz+SdpU8XGRLMXPVypu9uyRDKUINVvQ2va4SNO MrWw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=ZgoGz1gh; 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=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id g8-20020a170906538800b0078db6f5f4b2si5450245ejo.546.2022.10.30.23.20.48; Sun, 30 Oct 2022 23:20:48 -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=@gmail.com header.s=20210112 header.b=ZgoGz1gh; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4D06C68BD8E; Mon, 31 Oct 2022 08:20:26 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pg1-f170.google.com (mail-pg1-f170.google.com [209.85.215.170]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1572368BDB2 for ; Mon, 31 Oct 2022 08:20:16 +0200 (EET) Received: by mail-pg1-f170.google.com with SMTP id b5so9874538pgb.6; Sun, 30 Oct 2022 23:20:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date :references:in-reply-to:message-id:from:from:to:cc:subject:date :message-id:reply-to; bh=7x6csXj0yzvp9/vciEAvrUbrtDHHQHkd5liO8mCUb44=; b=ZgoGz1ghyTRufxgDzWF9bhByqaVBQ0uaAtYhT8zlDRHzwg6+j6LIPV6Izft2jvKmqu emWPKCufohir0MV3dE6S7+R/Ijzumz2GPVqR+UFeUlCl/+fEjHyanQXFSqcewRYlVe5C K4gs9qyAAClKS6UqniotoxZWHX/Mxl6WswNU1E8NoXeyorlwV6ZuqlFU5hItMy7VP7kP mKV42IH4Bw+LNUmEKZ5qvqhSzOXsjt5i4YKGzyC/FsjaqdxbsavI27dVobDkYtDDd9y7 dlu96RMMtE2Urjy6fqrJp+wVvX3J8PAJOUlVjaycBsCUEdTX7GD2eKSRIOxJv7+iJnvb /hGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date :references:in-reply-to:message-id:from:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=7x6csXj0yzvp9/vciEAvrUbrtDHHQHkd5liO8mCUb44=; b=zNRE/K6F5XoO91MCbqBl5sUMGlQQaq4/XLnwAgVwB5grPy7HNjJQxdA8w6vHyiGOPr wQ2Aakgas3JfWmnYDI2T9PuhlqbU3Duw9hpYvGU3LnaaoyGyz4qkqHWgQ0yMMyeIFMsz zrxX31OuoxtMz8Yjkf6iAuYjOcBcwEdC4dmYeOSD3FM9et06FMu1P+5c2kpIjCIWDzSS MU9lLe9Mub2dx2Nl9G7cJzwsjxpYUVx5xgJ90vz4K+HgioE0JExdNyqB6YgR0MsWzeJy qSn7zzPUllxEeJ2+bsgTx0Pgw8RaFkJ0NNpCr7jfkpz42zozwOsyVyWIpINO2mf5gBty 8xXA== X-Gm-Message-State: ACrzQf3YRoiUDvyF+kQssETyn4frBsz26pUPcojbDTZqegGIY8OgkJ5S AZmrPnI/Gexibg59h5tRVMQ+6BLmIT4= X-Received: by 2002:a63:6942:0:b0:41c:9261:54fd with SMTP id e63-20020a636942000000b0041c926154fdmr11472410pgc.34.1667197214381; Sun, 30 Oct 2022 23:20:14 -0700 (PDT) Received: from [127.0.0.1] (master.gitmailbox.com. [34.83.118.50]) by smtp.gmail.com with ESMTPSA id m2-20020a17090a7f8200b001faafa42a9esm3381190pjl.26.2022.10.30.23.20.13 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 30 Oct 2022 23:20:14 -0700 (PDT) From: softworkz X-Google-Original-From: softworkz Message-Id: <5ff8f82002ea301c00dbc54beff1063c7e26a8e2.1667197207.git.ffmpegagent@gmail.com> In-Reply-To: References: Date: Mon, 31 Oct 2022 06:20:03 +0000 Fcc: Sent MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH v2 07/11] avfilter/overlay_vaapi: add framesync options 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: softworkz , "Xiang, Haihao" , Gyan Doshi Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: D7jYkAl+3C+A From: softworkz Signed-off-by: softworkz --- libavfilter/vf_overlay_vaapi.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/libavfilter/vf_overlay_vaapi.c b/libavfilter/vf_overlay_vaapi.c index 71fc90a86b..f4f9cc58ec 100644 --- a/libavfilter/vf_overlay_vaapi.c +++ b/libavfilter/vf_overlay_vaapi.c @@ -292,8 +292,7 @@ static int overlay_vaapi_config_output(AVFilterLink *outlink) if (err < 0) return err; - ctx->fs.on_event = overlay_vaapi_blend; - ctx->fs.opaque = ctx; + ctx->fs.on_event = overlay_vaapi_blend; ctx->fs.time_base = outlink->time_base; return ff_framesync_configure(&ctx->fs); @@ -321,6 +320,7 @@ static av_cold void overlay_vaapi_uninit(AVFilterContext *avctx) OverlayVAAPIContext *ctx = avctx->priv; ff_framesync_uninit(&ctx->fs); + ff_vaapi_vpp_ctx_uninit(avctx); } #define OFFSET(x) offsetof(OverlayVAAPIContext, x) @@ -331,10 +331,18 @@ static const AVOption overlay_vaapi_options[] = { { "w", "Overlay width", OFFSET(overlay_ow), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, .flags = FLAGS }, { "h", "Overlay height", OFFSET(overlay_oh), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, .flags = FLAGS }, { "alpha", "Overlay global alpha", OFFSET(alpha), AV_OPT_TYPE_FLOAT, { .dbl = 1.0 }, 0.0, 1.0, .flags = FLAGS }, + { "eof_action", "Action to take when encountering EOF from secondary input ", + OFFSET(fs.opt_eof_action), AV_OPT_TYPE_INT, { .i64 = EOF_ACTION_REPEAT }, + EOF_ACTION_REPEAT, EOF_ACTION_PASS, .flags = FLAGS, "eof_action" }, + { "repeat", "Repeat the previous frame.", 0, AV_OPT_TYPE_CONST, { .i64 = EOF_ACTION_REPEAT }, .flags = FLAGS, "eof_action" }, + { "endall", "End both streams.", 0, AV_OPT_TYPE_CONST, { .i64 = EOF_ACTION_ENDALL }, .flags = FLAGS, "eof_action" }, + { "pass", "Pass through the main input.", 0, AV_OPT_TYPE_CONST, { .i64 = EOF_ACTION_PASS }, .flags = FLAGS, "eof_action" }, + { "shortest", "force termination when the shortest input terminates", OFFSET(fs.opt_shortest), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, FLAGS }, + { "repeatlast", "repeat overlay of the last overlay frame", OFFSET(fs.opt_repeatlast), AV_OPT_TYPE_BOOL, { .i64 = 1 }, 0, 1, FLAGS }, { NULL }, }; -AVFILTER_DEFINE_CLASS(overlay_vaapi); +FRAMESYNC_DEFINE_CLASS(overlay_vaapi, OverlayVAAPIContext, fs); static const AVFilterPad overlay_vaapi_inputs[] = { { @@ -364,6 +372,7 @@ const AVFilter ff_vf_overlay_vaapi = { .init = &overlay_vaapi_init, .uninit = &overlay_vaapi_uninit, .activate = &overlay_vaapi_activate, + .preinit = overlay_vaapi_framesync_preinit, FILTER_INPUTS(overlay_vaapi_inputs), FILTER_OUTPUTS(overlay_vaapi_outputs), FILTER_SINGLE_PIXFMT(AV_PIX_FMT_VAAPI), From patchwork Mon Oct 31 06:20:04 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 39077 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:8e01:b0:a3:a294:714c with SMTP id y1csp731263pzj; Sun, 30 Oct 2022 23:21:06 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6/BGUi6urDUZSiqgbOmeTwCHCtvDCI5eaIC6+s16H4PJhF9wqwCHejXuZ5XNXLkRNvCOR+ X-Received: by 2002:aa7:ce16:0:b0:461:865a:ae44 with SMTP id d22-20020aa7ce16000000b00461865aae44mr11755228edv.280.1667197265893; Sun, 30 Oct 2022 23:21:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1667197265; cv=none; d=google.com; s=arc-20160816; b=ZgRIz+5OHc86JfvPu6j+8zYlMVbFsPVcR4CwM74PaMVrAZB58bJY7/WCJkfzrZBWT3 durFHQkVGieoSvsLMdRAd9xjJadGHmqiqoHO5q3Y2lGb0pwA95uhDM0WAJ7ILmG/YAVE WamdbsF8oNg3j/9vLKQavt8jMZwZJWn2Jv0XEeU3T2u6MhwVucpDbY2qQImjcNgc4G7o IP8b7w740byuXI9GG2O0ydGPsJhumHzBDHKpFVla3RPkmxSRVBRYYTFGhv/WDlm2uAn1 Joymw3rHie+/zkLPf9GYkW2nNmCUNuGQmJlBSa+D3v9CRBTstMS0SSHL30lKQGbbHhAR CJBw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:to:mime-version:fcc:date:references :in-reply-to:message-id:from:dkim-signature:delivered-to; bh=2EvatxmRBjA4FlISrCcsJ/z3sh+saRoFIt6o8IZ+8+4=; b=RHx4OZcyNoNQXBRsV/5IAIvKwnebt6QU+NPKpz6zkViDmZdRieeXqaUsB8UeRjGCkk qpl6saovlU5HHyyVqOGF1EvoFqsyHLRmR7ul9SRjTLi/4wdfnM7W8GwgLBynw8zBApej L6J0SG8eRPFUFN49wotwmdXoLvZljccfdXchF2GMACBvsR3PazHniskTQBIXE5Xw964a xDyCjmeVKTqEIHzgrVVKruSIiCo0aY3dBBcl3+ymMWWZBVwXXgxaIv6fKZ6TgeHvZa/i fOShd7SI1T1c/iI7ToSM+i9f2c3XacLxC8T1sKAdhj+eJwHANZd8bMaYhTqHnhofEabR ME9w== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=CbjMn4yA; 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=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id qw35-20020a1709066a2300b0079b9f472d85si7641963ejc.698.2022.10.30.23.21.05; Sun, 30 Oct 2022 23:21:05 -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=@gmail.com header.s=20210112 header.b=CbjMn4yA; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6413C68BE05; Mon, 31 Oct 2022 08:20:28 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pg1-f169.google.com (mail-pg1-f169.google.com [209.85.215.169]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id CF3FA68BDBD for ; Mon, 31 Oct 2022 08:20:16 +0200 (EET) Received: by mail-pg1-f169.google.com with SMTP id g129so9868531pgc.7; Sun, 30 Oct 2022 23:20:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date :references:in-reply-to:message-id:from:from:to:cc:subject:date :message-id:reply-to; bh=WePJQVhzQWDnZAzcQP5M6U0Ut9G/tm0gOxL/p50tWEw=; b=CbjMn4yArgZr5dHg/deFBu2Npmu2w8PwqN+Zf4ZVg5v1qva69E0h6VCyQPN1W9pjO5 bMHtzO60vOgJ2Q7OldlyivcZXrFPVSnBrivH1uTvoEX28l8KpXtV/x+U+M0WijfJk/bo /JwhVYUjJR6pdmH6mBip0SMIMX3FSAyFgLPQbVCETHZvzsUCe3icTsjAdCw05pHiUAjq 1Rya8jZeHdidEN3vAsYy55dLCZqTMGUuNn58N+OKgMET3GS7STK8BxMSfgs/UpdFqP+a Ha+RDgjJ9mjFJJo5kucx4UN9PIBCPxG9TE+uXb+Oj4s0CGfCvaZ9ekQ5I3ZoRKsTvTRT CFug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date :references:in-reply-to:message-id:from:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=WePJQVhzQWDnZAzcQP5M6U0Ut9G/tm0gOxL/p50tWEw=; b=khpu1WuXRLjxpZ/6xzDiZplAosGgV9CAqI+6BjljetJQ8YKJfF2te9s2PzC32PmOmo 8C3JuDsFaQBwGtO+HhZna7BdOALYpPVgSFZg1ikHX0Rv1XP11Q5oXVKerlDBYg4A4oaT 6QBHIklsYlPPjjoVVPxPxJUoKjePrjBYEJRQy2nuZnXrncnfbBlrTaKhZiPZvj9SatCy 3izVzGOPDq65XS+Jv/8MAJEQjmMTQts34ZEJziLKYVW2zLgVZeUk/jgYz2Z9wsfxu7IG z7bafOjyHkO5nU87Lb6a+Mm6iF7YWjRRzMul6xwFsuljxQXCs5Akh8H5Cq2MXmhnx9ya DQcg== X-Gm-Message-State: ACrzQf0d7v61M+wqpJXKZPTxaUpY9wOWNLCFUy5cajQid74rkM3dAB9g eBLohfm0p+Kr3cjYjwwwF2R2KP+bnKA= X-Received: by 2002:a63:485f:0:b0:458:764a:2224 with SMTP id x31-20020a63485f000000b00458764a2224mr11157832pgk.620.1667197215135; Sun, 30 Oct 2022 23:20:15 -0700 (PDT) Received: from [127.0.0.1] (master.gitmailbox.com. [34.83.118.50]) by smtp.gmail.com with ESMTPSA id o125-20020a625a83000000b00560e5da42d5sm3659470pfb.201.2022.10.30.23.20.14 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 30 Oct 2022 23:20:14 -0700 (PDT) From: softworkz X-Google-Original-From: softworkz Message-Id: <4fba07d9f978cdbad394c1ab4af763bcc2a2ad71.1667197207.git.ffmpegagent@gmail.com> In-Reply-To: References: Date: Mon, 31 Oct 2022 06:20:04 +0000 Fcc: Sent MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH v2 08/11] avfilter/overlay_vaapi: precalculate blend_state, enable pixel alpha 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: softworkz , "Xiang, Haihao" , Gyan Doshi Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: EQPoki2LpAhm From: softworkz Signed-off-by: softworkz --- libavfilter/vf_overlay_vaapi.c | 44 ++++++++++++++++++++++++++++++++-- 1 file changed, 42 insertions(+), 2 deletions(-) diff --git a/libavfilter/vf_overlay_vaapi.c b/libavfilter/vf_overlay_vaapi.c index f4f9cc58ec..b2c254d9dd 100644 --- a/libavfilter/vf_overlay_vaapi.c +++ b/libavfilter/vf_overlay_vaapi.c @@ -36,6 +36,8 @@ typedef struct OverlayVAAPIContext { int overlay_ow; int overlay_oh; float alpha; + unsigned int blend_flags; + float blend_alpha; } OverlayVAAPIContext; static int overlay_vaapi_build_filter_params(AVFilterContext *avctx) @@ -246,8 +248,8 @@ static int overlay_vaapi_blend(FFFrameSync *fs) memcpy(&subpic_params, ¶ms, sizeof(subpic_params)); - blend_state.flags = VA_BLEND_GLOBAL_ALPHA; - blend_state.global_alpha = ctx->alpha; + blend_state.flags = ctx->blend_flags; + blend_state.global_alpha = ctx->blend_alpha; subpic_params.blend_state = &blend_state; subpic_params.surface = (VASurfaceID)(uintptr_t)input_overlay->data[3]; @@ -269,6 +271,43 @@ fail: return err; } +static int have_alpha_planar(AVFilterLink *link) +{ + enum AVPixelFormat pix_fmt = link->format; + const AVPixFmtDescriptor *desc; + AVHWFramesContext *fctx; + + if (link->format == AV_PIX_FMT_VAAPI) { + fctx = (AVHWFramesContext *)link->hw_frames_ctx->data; + pix_fmt = fctx->sw_format; + } + + desc = av_pix_fmt_desc_get(pix_fmt); + if (!desc) + return 0; + + return !!(desc->flags & AV_PIX_FMT_FLAG_ALPHA); +} + +static int overlay_vaapi_config_input_overlay(AVFilterLink *inlink) +{ + AVFilterContext *avctx = inlink->dst; + OverlayVAAPIContext *ctx = avctx->priv; + + ctx->blend_flags = 0; + ctx->blend_alpha = 1.0f; + + if (ctx->alpha < 1.0f) { + ctx->blend_flags |= VA_BLEND_GLOBAL_ALPHA; + ctx->blend_alpha = ctx->alpha; + } + + if (have_alpha_planar(inlink)) + ctx->blend_flags |= VA_BLEND_PREMULTIPLIED_ALPHA; + + return 0; +} + static int overlay_vaapi_config_output(AVFilterLink *outlink) { AVFilterContext *avctx = outlink->src; @@ -353,6 +392,7 @@ static const AVFilterPad overlay_vaapi_inputs[] = { { .name = "overlay", .type = AVMEDIA_TYPE_VIDEO, + .config_props = overlay_vaapi_config_input_overlay, }, }; From patchwork Mon Oct 31 06:20:05 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 39079 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:8e01:b0:a3:a294:714c with SMTP id y1csp731368pzj; Sun, 30 Oct 2022 23:21:22 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6vDGKkise3TtP043jylqmk80Ly2YIEGjKt2Pp0QXMUqY1bpdFIwAAi0G7zfWZ+FyZVxgcE X-Received: by 2002:a17:907:3f19:b0:7a3:2317:4221 with SMTP id hq25-20020a1709073f1900b007a323174221mr11233961ejc.562.1667197282251; Sun, 30 Oct 2022 23:21:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1667197282; cv=none; d=google.com; s=arc-20160816; b=BtJlOkdWZMIK/8Ou4ToNdSTke86sxIh+Ga9TplRU7ahgoMBcuyy5UCKA70LXcjHuDY me/RNvuhnoz4ZAEoMV6TwirSx93LerddTCyIjOLlLcG9OCiYVk3kOJBdV6JSJCZangC+ qU6PfahpFclp1OeADzHAfvB8d1PEKfZzvUmlUp+LPkaRTIzsgCnbxa/4czeBCMfdp0u7 To1KmcyOqGyTB99iprMyLdZ9aJKpmaaH/bZ46I1T6c3ob7Wnig+F9OSs/tzUoK/fCfO1 mf+OlCq0Un0l6vASs636wfpvn83jLIYRp9p/PSfzmrEgiBPZbEbSfBNvG8K2rI+YcTzP 7snw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:to:mime-version:fcc:date:references :in-reply-to:message-id:from:dkim-signature:delivered-to; bh=lOLdgczvJXxo4VU6g8hPA/+0dnwaGRirSObE8djHYMM=; b=Ym5mpSzm11eHfg3rH+/U7bqsReYalCS+ug6ple+zXqHZFJQaVg2qVRldc0Ojjshp30 Sq/MnL3shtVekvJ2YnsJP0+FP+5NWMYGs2uf5V8yqgAqSofC+S0McqMXz+T1/MxjFlzz G+HBl6bxbxoSuV4lrRpZo1MTsguDjfLmtZLbqEc1pZT/rqdjul2vQ3JB+Vt7yzkDtfBV dlrL/Ng25bnmClCcdDTqdpMzWLxvYtpQxCG3L86Y3nvjXvnN6VAOkXVo2BoCOv6og/W2 HRm4VdEvKxmhs2T3n+x8DzJPQvzI0+16c0NhQW0SsBAPFEjovCYjjS7T7LzwBYUMmWXl jGBg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=CvltYf6+; 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=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id i18-20020a1709064fd200b00783757c8e5esi8688726ejw.931.2022.10.30.23.21.21; Sun, 30 Oct 2022 23:21:22 -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=@gmail.com header.s=20210112 header.b=CvltYf6+; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 513AD68BE0F; Mon, 31 Oct 2022 08:20:30 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pg1-f182.google.com (mail-pg1-f182.google.com [209.85.215.182]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6563B68BD68 for ; Mon, 31 Oct 2022 08:20:17 +0200 (EET) Received: by mail-pg1-f182.google.com with SMTP id h193so1174894pgc.10; Sun, 30 Oct 2022 23:20:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date :references:in-reply-to:message-id:from:from:to:cc:subject:date :message-id:reply-to; bh=3wCxcU9uEAFN/eu9Yjy3FLUYbjMrMUWnQfVga/yRyS8=; b=CvltYf6+Gg79ttS3YaF+gnK+dzrJxE3FDblBN+4Er7LdtYVWp553EWJldz2e643PEl jmjs4tkKmZl3KdptE+noxv/wbGSyAlrTPMQMgXb/vuT7R6bX4hWmbQrRUYUMhFWsUF9t q3JUB/NdRYo2aHCgjsfIrLAt+l++kx8OjvSvxeLJqRh2nBLJxQ3LDWYfGn4eAftkniH2 QoCbTIPJsP7OGJa/4Xoj1qzJYkwLb48BKzs+ZDBLo/w97OmTZcs9n18I0OkvCImSNb9l vmPlkz6M+BO0SEmgfLKmQwpc0f1bre6oLFIiUW96gO0U8bJBbww+Th4cf5ke+qOzJD9g wVjw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date :references:in-reply-to:message-id:from:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=3wCxcU9uEAFN/eu9Yjy3FLUYbjMrMUWnQfVga/yRyS8=; b=UlsaPGFgx2YoBLViuGqrH7LVqquu3khohoOR+dLMOfLZmaFTTtwxLGQimMhOfg4dIg mcZhBeuZLFMmYIHJzMpeVQyHpOJPBCLR9z4wQoFGgNaOiUqErDOK6yneOdaQVj5DOW4D ktny2GSq42PLtTC/c8yRLeQH18qTrCjR2q2ZTy5CJHN2lGp6d25p09E0uusjxdswiDkk mmfaAzm6OPdTveRo/bjNn3QwnFh8hp/bBawhzt8royZ5uIfG4gJSD4YpwtGquCNmA4zS fxIFsUv47pEfLMC9EovCrxP0j/MAbbZ8vPksTcVNr7nZ9DZwzHVn488iHh9ba8pqdu/h 5FkA== X-Gm-Message-State: ACrzQf0RJ+8adAxo1jbxBMITzm+RkchwT+vltGjtulAwP4tUNYnsZxPT TX9OquUMVnRLi3RU/uC3JkkvnAgtfwU= X-Received: by 2002:a63:1944:0:b0:455:bea0:97ee with SMTP id 4-20020a631944000000b00455bea097eemr11529793pgz.258.1667197215876; Sun, 30 Oct 2022 23:20:15 -0700 (PDT) Received: from [127.0.0.1] (master.gitmailbox.com. [34.83.118.50]) by smtp.gmail.com with ESMTPSA id i4-20020a654d04000000b0046f03254c9csm3335136pgt.23.2022.10.30.23.20.15 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 30 Oct 2022 23:20:15 -0700 (PDT) From: softworkz X-Google-Original-From: softworkz Message-Id: <20b9e9c99205d81109f5050c1827d8d19fd4fb20.1667197207.git.ffmpegagent@gmail.com> In-Reply-To: References: Date: Mon, 31 Oct 2022 06:20:05 +0000 Fcc: Sent MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH v2 09/11] avfilter/overlay_vaapi: enable expressions for overlay parameters 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: softworkz , "Xiang, Haihao" , Gyan Doshi Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: VGJ+uFJKplWq From: softworkz Signed-off-by: softworkz --- libavfilter/vf_overlay_vaapi.c | 141 +++++++++++++++++++++++++++++---- 1 file changed, 127 insertions(+), 14 deletions(-) diff --git a/libavfilter/vf_overlay_vaapi.c b/libavfilter/vf_overlay_vaapi.c index b2c254d9dd..307f3cf7fc 100644 --- a/libavfilter/vf_overlay_vaapi.c +++ b/libavfilter/vf_overlay_vaapi.c @@ -27,19 +27,106 @@ #include "formats.h" #include "internal.h" #include "vaapi_vpp.h" +#include "libavutil/eval.h" + +enum var_name { + VAR_MAIN_IW, VAR_MW, + VAR_MAIN_IH, VAR_MH, + VAR_OVERLAY_IW, + VAR_OVERLAY_IH, + VAR_OVERLAY_X, VAR_OX, + VAR_OVERLAY_Y, VAR_OY, + VAR_OVERLAY_W, VAR_OW, + VAR_OVERLAY_H, VAR_OH, + VAR_VARS_NB +}; typedef struct OverlayVAAPIContext { VAAPIVPPContext vpp_ctx; /**< must be the first field */ FFFrameSync fs; - int overlay_ox; - int overlay_oy; - int overlay_ow; - int overlay_oh; + + double var_values[VAR_VARS_NB]; + char *overlay_ox; + char *overlay_oy; + char *overlay_ow; + char *overlay_oh; + int ox; + int oy; + int ow; + int oh; float alpha; unsigned int blend_flags; float blend_alpha; } OverlayVAAPIContext; +static const char *const var_names[] = { + "main_w", "W", /* input width of the main layer */ + "main_h", "H", /* input height of the main layer */ + "overlay_iw", /* input width of the overlay layer */ + "overlay_ih", /* input height of the overlay layer */ + "overlay_x", "x", /* x position of the overlay layer inside of main */ + "overlay_y", "y", /* y position of the overlay layer inside of main */ + "overlay_w", "w", /* output width of overlay layer */ + "overlay_h", "h", /* output height of overlay layer */ + NULL +}; + +static int eval_expr(AVFilterContext *avctx) +{ + OverlayVAAPIContext *ctx = avctx->priv; + double *var_values = ctx->var_values; + int ret = 0; + AVExpr *ox_expr = NULL, *oy_expr = NULL; + AVExpr *ow_expr = NULL, *oh_expr = NULL; + +#define PARSE_EXPR(e, s) {\ + ret = av_expr_parse(&(e), s, var_names, NULL, NULL, NULL, NULL, 0, ctx); \ + if (ret < 0) {\ + av_log(ctx, AV_LOG_ERROR, "Error when parsing '%s'.\n", s);\ + goto release;\ + }\ +} + PARSE_EXPR(ox_expr, ctx->overlay_ox) + PARSE_EXPR(oy_expr, ctx->overlay_oy) + PARSE_EXPR(ow_expr, ctx->overlay_ow) + PARSE_EXPR(oh_expr, ctx->overlay_oh) +#undef PASS_EXPR + + var_values[VAR_OVERLAY_W] = + var_values[VAR_OW] = av_expr_eval(ow_expr, var_values, NULL); + var_values[VAR_OVERLAY_H] = + var_values[VAR_OH] = av_expr_eval(oh_expr, var_values, NULL); + + /* calc again in case ow is relative to oh */ + var_values[VAR_OVERLAY_W] = + var_values[VAR_OW] = av_expr_eval(ow_expr, var_values, NULL); + + var_values[VAR_OVERLAY_X] = + var_values[VAR_OX] = av_expr_eval(ox_expr, var_values, NULL); + var_values[VAR_OVERLAY_Y] = + var_values[VAR_OY] = av_expr_eval(oy_expr, var_values, NULL); + + /* calc again in case ox is relative to oy */ + var_values[VAR_OVERLAY_X] = + var_values[VAR_OX] = av_expr_eval(ox_expr, var_values, NULL); + + /* calc overlay_w and overlay_h again incase relative to ox,oy */ + var_values[VAR_OVERLAY_W] = + var_values[VAR_OW] = av_expr_eval(ow_expr, var_values, NULL); + var_values[VAR_OVERLAY_H] = + var_values[VAR_OH] = av_expr_eval(oh_expr, var_values, NULL); + var_values[VAR_OVERLAY_W] = + var_values[VAR_OW] = av_expr_eval(ow_expr, var_values, NULL); + +release: + av_expr_free(ox_expr); + av_expr_free(oy_expr); + av_expr_free(ow_expr); + av_expr_free(oh_expr); + + return ret; +} + static int overlay_vaapi_build_filter_params(AVFilterContext *avctx) { VAAPIVPPContext *vpp_ctx = avctx->priv; @@ -233,10 +320,10 @@ static int overlay_vaapi_blend(FFFrameSync *fs) input_overlay->width, input_overlay->height, input_overlay->pts); overlay_region = (VARectangle) { - .x = ctx->overlay_ox, - .y = ctx->overlay_oy, - .width = ctx->overlay_ow ? ctx->overlay_ow : input_overlay->width, - .height = ctx->overlay_oh ? ctx->overlay_oh : input_overlay->height, + .x = ctx->ox, + .y = ctx->oy, + .width = ctx->ow ? ctx->ow : input_overlay->width, + .height = ctx->oh ? ctx->oh : input_overlay->height, }; if (overlay_region.x + overlay_region.width > input_main->width || @@ -289,10 +376,36 @@ static int have_alpha_planar(AVFilterLink *link) return !!(desc->flags & AV_PIX_FMT_FLAG_ALPHA); } +static int overlay_vaapi_config_input_main(AVFilterLink *inlink) +{ + AVFilterContext *avctx = inlink->dst; + OverlayVAAPIContext *ctx = avctx->priv; + + ctx->var_values[VAR_MAIN_IW] = + ctx->var_values[VAR_MW] = inlink->w; + ctx->var_values[VAR_MAIN_IH] = + ctx->var_values[VAR_MH] = inlink->h; + + return ff_vaapi_vpp_config_input(inlink); +} + static int overlay_vaapi_config_input_overlay(AVFilterLink *inlink) { AVFilterContext *avctx = inlink->dst; OverlayVAAPIContext *ctx = avctx->priv; + int ret; + + ctx->var_values[VAR_OVERLAY_IW] = inlink->w; + ctx->var_values[VAR_OVERLAY_IH] = inlink->h; + + ret = eval_expr(avctx); + if (ret < 0) + return ret; + + ctx->ox = (int)ctx->var_values[VAR_OX]; + ctx->oy = (int)ctx->var_values[VAR_OY]; + ctx->ow = (int)ctx->var_values[VAR_OW]; + ctx->oh = (int)ctx->var_values[VAR_OH]; ctx->blend_flags = 0; ctx->blend_alpha = 1.0f; @@ -365,11 +478,11 @@ static av_cold void overlay_vaapi_uninit(AVFilterContext *avctx) #define OFFSET(x) offsetof(OverlayVAAPIContext, x) #define FLAGS (AV_OPT_FLAG_FILTERING_PARAM | AV_OPT_FLAG_VIDEO_PARAM) static const AVOption overlay_vaapi_options[] = { - { "x", "Overlay x position", OFFSET(overlay_ox), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, .flags = FLAGS }, - { "y", "Overlay y position", OFFSET(overlay_oy), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, .flags = FLAGS }, - { "w", "Overlay width", OFFSET(overlay_ow), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, .flags = FLAGS }, - { "h", "Overlay height", OFFSET(overlay_oh), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, .flags = FLAGS }, - { "alpha", "Overlay global alpha", OFFSET(alpha), AV_OPT_TYPE_FLOAT, { .dbl = 1.0 }, 0.0, 1.0, .flags = FLAGS }, + { "x", "Overlay x position", OFFSET(overlay_ox), AV_OPT_TYPE_STRING, { .str="0"}, 0, 255, .flags = FLAGS}, + { "y", "Overlay y position", OFFSET(overlay_oy), AV_OPT_TYPE_STRING, { .str="0"}, 0, 255, .flags = FLAGS}, + { "w", "Overlay width", OFFSET(overlay_ow), AV_OPT_TYPE_STRING, { .str="overlay_iw"}, 0, 255, .flags = FLAGS}, + { "h", "Overlay height", OFFSET(overlay_oh), AV_OPT_TYPE_STRING, { .str="overlay_ih*w/overlay_iw"}, 0, 255, .flags = FLAGS}, + { "alpha", "Overlay global alpha", OFFSET(alpha), AV_OPT_TYPE_FLOAT, { .dbl = 1.0 }, 0.0, 1.0, .flags = FLAGS }, { "eof_action", "Action to take when encountering EOF from secondary input ", OFFSET(fs.opt_eof_action), AV_OPT_TYPE_INT, { .i64 = EOF_ACTION_REPEAT }, EOF_ACTION_REPEAT, EOF_ACTION_PASS, .flags = FLAGS, "eof_action" }, @@ -387,7 +500,7 @@ static const AVFilterPad overlay_vaapi_inputs[] = { { .name = "main", .type = AVMEDIA_TYPE_VIDEO, - .config_props = &ff_vaapi_vpp_config_input, + .config_props = overlay_vaapi_config_input_main, }, { .name = "overlay", From patchwork Mon Oct 31 06:20:06 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 39081 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:8e01:b0:a3:a294:714c with SMTP id y1csp731492pzj; Sun, 30 Oct 2022 23:21:39 -0700 (PDT) X-Google-Smtp-Source: AMsMyM79N/MqqfM7hNcflCit+F0ut2npXATAfi8kfswZvGH58iMu2CUWgWf/bPCh0n3xIXoWjvDm X-Received: by 2002:aa7:c504:0:b0:461:122b:882b with SMTP id o4-20020aa7c504000000b00461122b882bmr12302038edq.14.1667197299284; Sun, 30 Oct 2022 23:21:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1667197299; cv=none; d=google.com; s=arc-20160816; b=Qa1S6MCWXLMTlrtwANQMmKthcNt2eF5EescISSfw1BurTn+jCWyPMtCJ2MdHfOWr+n HRCDsZyvpr7caydjuOzShaR5u/btO+9hxyaBywopF/ruxFBa4+JvKlrwYi34lXS45fYA n9TODRXU2LJvuDfS9McCSr0ENfLkEru3OujDSnWOO1yPzXIB8l+AJyH89RtU3l+Zfwxk IAo/G40Xt4U96/I+BIO5hgugFtr/Cm6HlHpxN1ygx+BNxIa1w9m6WLpXtEpy8j2eYc8H oWaC5iH5nO/+kY6Ysh/5+yHJqibo/pO70Rx7W0kDB3wqhYNwXSxu3KE/PhKRP46UF0j7 CJDw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:to:mime-version:fcc:date:references :in-reply-to:message-id:from:dkim-signature:delivered-to; bh=LIquiWK6/L7yDMYFv/8jdoj5vHwNAudnp6xl6Ot+EVU=; b=EA0W4Lhlg4Ej8oiAZTn04vebd2sMILCFDvqPjWSwIHl1PKANaBbq8jcqbQkSfoUJW0 kgTICVgYOO6c8HKr+XI8mEyCigc6iY+FYvVz0ACznPynC/M/vxlBmsvr8XTXIxx+7pnR PQGQIsv17tZ6ZwbFP/O8RItxddc+Qbpc7m1HLlXV29VP0NJHaC1vG7SZR7zkPkeLyfax 4DChA2rDvZrV0uz7xIFUqaHstDpEruuC7AMcZeMC0e44mEuRoEwyOCk6Z0dVeQfKbW+Z lnij/uMbZE+I0odY19C3UGV6I/gWD5xDqP7oopkgAduyuMgJ4y6oe8son2qTAYrZoWYd lV4g== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=D2lF8BEh; 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=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id gb41-20020a170907962900b007abafe45ad3si8523922ejc.252.2022.10.30.23.21.38; Sun, 30 Oct 2022 23:21:39 -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=@gmail.com header.s=20210112 header.b=D2lF8BEh; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 357B368BE18; Mon, 31 Oct 2022 08:20:32 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 215B268BDD1 for ; Mon, 31 Oct 2022 08:20:18 +0200 (EET) Received: by mail-pl1-f170.google.com with SMTP id u6so9870867plq.12; Sun, 30 Oct 2022 23:20:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date :references:in-reply-to:message-id:from:from:to:cc:subject:date :message-id:reply-to; bh=1JLfpgcd6/mmTcNIGkqdihZ2KAbC/mQKDAGMIoTF4M4=; b=D2lF8BEhG2N5ehwNDgrzfFtQ0cQfIjXtYBOOeT9PwPdxqXHXpP1jMQs8s1jYq8V+9X 9Jzz48XMOjkcVv7GoMptRAaRArfOLC45W81boCkk7z8r2H5Q3ApnmnIX0PoL+LGwh+ko 0OpAp6/nWnuiMOLhelwx9LO15xVZ0osTzjqDkAvNN3In+SmY3dRksPwBcA4sz5tHpKvI hIM3G5huDGT4JAYareP8/3vivdNFFcTTUn0xUDp4ymDkZLlIdL0WwIlfKJyPkq+ObwDj AsIJ9iFmlbRhWzwbeTJ8RCZQXsulFkzrNwwO1ntc8hFK7jXERcmmS6RZeNgMCvgFyf91 oUuA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date :references:in-reply-to:message-id:from:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=1JLfpgcd6/mmTcNIGkqdihZ2KAbC/mQKDAGMIoTF4M4=; b=pC/sfyh7P5o1jToP31obAewHUNzEOZfZG+YmxEWuKqin1gkVWpE9hqOA3Dr2MiVzls 2FLxW9Sees0sj8dyVqQMfbSBqoX0azUpap7+SF/evw+pubCpROFBOGUTgPjFRaTGBHAo kWbN8O4ZMUbXJQWkH4sGRWPRcKQLHcB5fSGDHTBJFvTgw9/DRxgSrnDJxMLmU5oNkAah g4sP1lT/3iI8KojyfOyGFcS1w7aLoqmir4Gi7NRNdxPU6WfY7psKkJKZUXrw2I+46qkB HYGszvv9AB75MeAIjg93wpafR2X2Vm6r3rdgQw1C35JmXoDO61wpXPQaizECokL0QKd4 IQjA== X-Gm-Message-State: ACrzQf1mbawZywG5lIaphbtr0Sp2e81sEYNlDPFnT9Bp78fHFVyWFtYP MRyjM9A3frzdCAbq6ZoRybZ643REuMc= X-Received: by 2002:a17:90a:a608:b0:213:f2a6:d90a with SMTP id c8-20020a17090aa60800b00213f2a6d90amr1447506pjq.93.1667197216514; Sun, 30 Oct 2022 23:20:16 -0700 (PDT) Received: from [127.0.0.1] (master.gitmailbox.com. [34.83.118.50]) by smtp.gmail.com with ESMTPSA id ik28-20020a170902ab1c00b00177fb862a87sm3630417plb.20.2022.10.30.23.20.16 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 30 Oct 2022 23:20:16 -0700 (PDT) From: softworkz X-Google-Original-From: softworkz Message-Id: In-Reply-To: References: Date: Mon, 31 Oct 2022 06:20:06 +0000 Fcc: Sent MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH v2 10/11] doc/filters.texi: remove incorrect statement 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: softworkz , "Xiang, Haihao" , Gyan Doshi Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: cn4xJCcIiKwJ From: softworkz Signed-off-by: softworkz --- doc/filters.texi | 1 - 1 file changed, 1 deletion(-) diff --git a/doc/filters.texi b/doc/filters.texi index 68205147f0..2d0b5db909 100644 --- a/doc/filters.texi +++ b/doc/filters.texi @@ -26267,7 +26267,6 @@ To use vaapi filters, you need to setup the vaapi device correctly. For more inf Overlay one video on the top of another. It takes two inputs and has one output. The first input is the "main" video on which the second input is overlaid. -This filter requires same memory layout for all the inputs. So, format conversion may be needed. The filter accepts the following options: From patchwork Mon Oct 31 06:20:07 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 39082 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:8e01:b0:a3:a294:714c with SMTP id y1csp731536pzj; Sun, 30 Oct 2022 23:21:47 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7dqa7Hi9OFjybu23HPgN4cW54Gtdrx67mbaZYSgd476UlqWF8p8HRw/QtsZABlfsmm6OD9 X-Received: by 2002:a05:6402:5cb:b0:452:e416:2bc4 with SMTP id n11-20020a05640205cb00b00452e4162bc4mr11825554edx.114.1667197307599; Sun, 30 Oct 2022 23:21:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1667197307; cv=none; d=google.com; s=arc-20160816; b=jfRijQjO8j7bVNHXjGEaC2WQTNHakmBjJF4JJE/BBjyLKTrbwQmXiSodD89se+EZoq /d+KTdJmf67mcFcRfiUFdnjARKt8SQBWR3ACvbaIoNT8JASMYytHlqx1WCwDU8ELSvXh tQd1lXKw+OTNeLG3wwHZi0HZN9ewsP+I8NJS0ZqRg0ktn/arvNIWadPyIx9knWuLIA5h yfRFSR4T43sO+8i+jywpMpRMSNk3JszQFcp4XTTJtOhS+xewVyi3sS3f2VgSbqs4s87R YopgJ+w2DucpqCbbWWuBlxyCbJ1n05KfX5U1+tEubjKcfxnmhUgSnu5xxN8HFpQC2IXu 3rdg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:to:mime-version:fcc:date:references :in-reply-to:message-id:from:dkim-signature:delivered-to; bh=wj+WcSe2l2+Zxp3D5D9sLrF+lUAmudBm7S4ooHx1HRw=; b=n3IVf6pYEjrJ3gz3OMcMYKfRuCkCRcTyqJAb6935vHzOLIUTtihcmV+zJWUacpLWhB MG9OWHHerK1bxNqDE70JtbiS2YLo4Gzjti60n+xSQWx7szo2+qr+Whm8pon3BPHLwMic o2m4cK4EjxLD5+hbKWmXGxApSRU1djBAThYQHksmthFXBsX9oKKRmbPh7e8+1VsQSijw Ty4/Egstnr+UL5XljM4+avQKekdV9OqgimNr9Ikjnx2X1WKZpbyp9PXMfHW0OiBhj1Np ER+w9Xbq23ikbRYOC2G181nwBHMGC4K/ooJtOBRTq1bnuVrcJ3R0SIQ/vg01AP83NNJr IHmQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=W3mTfP8j; 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=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id hd9-20020a170907968900b0072a6c18f1fasi8054941ejc.639.2022.10.30.23.21.47; Sun, 30 Oct 2022 23:21:47 -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=@gmail.com header.s=20210112 header.b=W3mTfP8j; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4F9BB68BE1D; Mon, 31 Oct 2022 08:20:33 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pl1-f177.google.com (mail-pl1-f177.google.com [209.85.214.177]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B700068BC6E for ; Mon, 31 Oct 2022 08:20:18 +0200 (EET) Received: by mail-pl1-f177.google.com with SMTP id c24so9879454pls.9; Sun, 30 Oct 2022 23:20:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date :references:in-reply-to:message-id:from:from:to:cc:subject:date :message-id:reply-to; bh=iTlS598AMp/dMe6CNqMHONDBIweWJ6FP7Gfz5f/EUZQ=; b=W3mTfP8jZN3OUthiA6rO2HEGbYRVc774FxuPducuhUVBpFFeBF4ryi5LIWPIrM+PzA dP5qabvOz4QKV3w1+5dXj6FxjxxFzOvhiHaXiY5qyzDTvwmCdlWKjXCtnQ838mB5Xgtd 9NrLGV1PTBfKCFKQVlwCqOQMPVH4UCXkfzKsvFvOspz7eB84RZmc0lrlMu8ang8UpHYp Z3YdHZ9r5P4szptRjOVnvoJXMH4i+6RKQmJ6YgUGmPpAgWNSrKOcsvpXCRMu17aryvxJ RcuRuqK+f/IhlyEFjIJY5CbrgJkUeAiAmIuax6/MxuuMCBj1EErm1Zwo66A6LFSFYzfy lDVg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date :references:in-reply-to:message-id:from:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=iTlS598AMp/dMe6CNqMHONDBIweWJ6FP7Gfz5f/EUZQ=; b=k1HwkeSd0Ch72/JsBV9I0sG1BXsQxJbSi8+J4+4uA0NT3g3pFeX3gbwsnoijqAYcwn 0IzjlnmKGr+uPhGAzPanurYwHUIYQ9vDqZXIKx2XyAZs7r0DzY97T4JRc+Ml+TcV0FvW 1q0NIM2UndHNK8lKTYu38ILxZnD+59dFm4YfB+EOvqEdNgLIjV4yh+pBKHznpU77Xhj1 HyPmggRxuVFSsNmFO+MTRes+TQeiBMJKLu8iNoqnwzzZ+Op53+EzJKxwO9nYDLZ/67mQ pfdhDxDDmkt9OzhhCWNj2SJdltXSLzZAvkv9qXOGiGX+7uTRucuj4zR8Yt394L1BJNQ2 kKuQ== X-Gm-Message-State: ACrzQf0jvzFFQoDNdRpKEvV4WYSlNcZxU/VFHbH3LgE1mKTGsZMHCl/K o9P/BqpAhfR3BNtk9qZi8ffzer27WJY= X-Received: by 2002:a17:90b:4c87:b0:213:5fe0:6700 with SMTP id my7-20020a17090b4c8700b002135fe06700mr27891688pjb.128.1667197217097; Sun, 30 Oct 2022 23:20:17 -0700 (PDT) Received: from [127.0.0.1] (master.gitmailbox.com. [34.83.118.50]) by smtp.gmail.com with ESMTPSA id z14-20020aa79f8e000000b0056b95260b91sm3672003pfr.67.2022.10.30.23.20.16 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 30 Oct 2022 23:20:16 -0700 (PDT) From: softworkz X-Google-Original-From: softworkz Message-Id: In-Reply-To: References: Date: Mon, 31 Oct 2022 06:20:07 +0000 Fcc: Sent MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH v2 11/11] doc/filters.texi: update overlay_vaapi documentation 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: softworkz , "Xiang, Haihao" , Gyan Doshi Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: Xelnw1bsXW5I From: softworkz Signed-off-by: softworkz --- doc/filters.texi | 51 +++++++++++++++++++++++++++++++++++++----------- 1 file changed, 40 insertions(+), 11 deletions(-) diff --git a/doc/filters.texi b/doc/filters.texi index 2d0b5db909..1d50db0e54 100644 --- a/doc/filters.texi +++ b/doc/filters.texi @@ -26271,30 +26271,59 @@ It takes two inputs and has one output. The first input is the "main" video on w The filter accepts the following options: @table @option - @item x -Set the x coordinate of the overlaid video on the main video. -Default value is @code{0}. - @item y -Set the y coordinate of the overlaid video on the main video. -Default value is @code{0}. +Set expressions for the x and y coordinates of the overlaid video +on the main video. -@item w -Set the width of the overlaid video on the main video. -Default value is the width of input overlay video. +Default value is "0" for both expressions. +@item w @item h -Set the height of the overlaid video on the main video. -Default value is the height of input overlay video. +Set expressions for the width and height the overlaid video +on the main video. + +Default values are 'overlay_iw' for 'w' and 'overlay_ih*w/overlay_iw' for 'h'. + +The expressions can contain the following parameters: + +@table @option + +@item main_w, W +@item main_h, H +The main input width and height. + +@item overlay_iw +@item overlay_ih +The overlay input width and height. + +@item overlay_w, w +@item overlay_h, h +The overlay output width and height. + +@item overlay_x, x +@item overlay_y, y +Position of the overlay layer inside of main + +@end table @item alpha Set transparency of overlaid video. Allowed range is 0.0 to 1.0. Higher value means lower transparency. Default value is @code{1.0}. +@item eof_action +See @ref{framesync}. + +@item shortest +See @ref{framesync}. + +@item repeatlast +See @ref{framesync}. + @end table +This filter also supports the @ref{framesync} options. @subsection Examples @itemize