From patchwork Mon Oct 10 10:54:31 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 38654 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4a86:b0:9d:28a3:170e with SMTP id fn6csp299293pzb; Mon, 10 Oct 2022 03:55:04 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4QGLs3J5IU05O26tvr1VZh4EcwhakZdwC5rmZqrwOvMqgkY18XO6Zu3wuXwrmRKNRiYTF4 X-Received: by 2002:a17:906:d550:b0:78d:a6d4:c18f with SMTP id cr16-20020a170906d55000b0078da6d4c18fmr5615107ejc.113.1665399303952; Mon, 10 Oct 2022 03:55:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665399303; cv=none; d=google.com; s=arc-20160816; b=kKGdQ4uCW2s+RGS9NUQuJ2+KDJXu9vXBs2WqRgBKVzZsuZgkYMg9jWWu+srV6g2dgX iSI74Y0Kb8pLBv9Pzr2lfSfb0y2+O/3GVd/Sa11hLeDHSEk+DrGzE+rO15kX3E6X3Ij9 ZGc0YDz5KHExS5wIrTw1vW1GRg40yBzsJ4IJcQ/VGpYiIJDdWADh3i8QmboX/d5zV0i6 Uqa/4OTMtjOUwF0A4g1Odb91pwhs3eNgwf0TB/xEB4FySzWyZyIKh9+6m3VYDql7eq/N xvzSryMr8OYWmDw5PuedKpu6gJ6ka6uHnaGjK8xBxb4iM+GyfKMoHFkty2h98DCBbSOR lYYQ== 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=0tj0bFgsfkptGwXS0ReIOZsTWrxgWIW4oNfD13xBz8AHPUVbt8LO6AByvvY6XrMRLF ie0fjB9Uiw1pQPEDy+2+J6p/S+tYHkb4/ocb88LaW5j41MT6AVhhTH10qyn3KtrjbAQB O0fbuWiNxGnF9YoKSOjKZLY1bNSpxIVHRT8PvG/PGz45uCkOuFBj1J9V5f0RwNBdfLkU qcelPTCQe9X8MkSmm5ANBXEq+SC7ZZyJCEJeMtFIRNNQv1GZKpMfHwP3aKEny2P+Vlka hW3DDlZIuqwjDhVSos2FDntvvHSAKJG1ebm6wbcS9I8FeimN1l5L5w9zSAxdMgYv/d2G IfCg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=AM2fhpv8; 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 e5-20020a170906844500b007882926c091si8894760ejy.768.2022.10.10.03.55.03; Mon, 10 Oct 2022 03:55:03 -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=AM2fhpv8; 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 220E668BCDA; Mon, 10 Oct 2022 13:54:52 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pg1-f179.google.com (mail-pg1-f179.google.com [209.85.215.179]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 503DC68BB94 for ; Mon, 10 Oct 2022 13:54:45 +0300 (EEST) Received: by mail-pg1-f179.google.com with SMTP id bh13so10019423pgb.4 for ; Mon, 10 Oct 2022 03:54:45 -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=AM2fhpv8rRA0c3KJAUF/RXA86jyxigVUhvDSJ1kE4+9hSRG1BjqCaJK7upQ+8k8jo6 EnKgmQMrb4dNLf4PFXaP5E18sVqQXfEcH76AzgVbciG/yGZCfwxkySp4hnZWNWmc74f0 vRAO0rgVN+ZyuPbeG+UglagOYxzhc/uI11rkMk0Ml8/+AJ7VZfgAr0gQZwCZybe/YEcl XTpcGe6wDRZen3x8ClSEwYpsGCcxLLtSa7Oi5o8G97mY8UHOJwKQkQA5elvSwLNgmir4 0SOCQ/X/K4nHYED9A6VsDWRvUsbEcmLyOqjeIxXiaT0CsV/B/8dDH6Gacdn17s/F/YDg Z5RQ== 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=GU+eUrH8/rat0LdW9jZ9KLXiXKhE+YqKj+EFzZW9qQ9GCFquviKeQOouQDNCl+Txsp jNd/KPd2uyN8S2GVnPFD9oUE9dCrCbSfjgqpW15xSCCP2v4Zn1Nqh4ro2TQVvvRs0XeT x2Qlc7HnVcuLhcvNGrT/4TROHbZydIYDKwOQZrvknMjE2YZGpLiJ+Ch8qkN6UDnHty8O +guHXRscif4GdBNcALrHTir7CCz4KqsUI7F64moCa2DksolS16MhHUct+bSJ24DPrCNf WXrXoyDUlf6TjQwMdffuY+3X8JvYx0WeW7ClMvWpoIUv0abseUpklde4PYmvThJEhOk/ vGjQ== X-Gm-Message-State: ACrzQf0x1tz2+VCEVPK8ysdKLWQO4ux56Fxp3MTCN6V8lzwjKLedTJJj o6Ff/edw525fc1Mx5L9W3mYHy/7b2V4= X-Received: by 2002:a63:ea4a:0:b0:439:4695:c0f8 with SMTP id l10-20020a63ea4a000000b004394695c0f8mr15921693pgk.440.1665399283483; Mon, 10 Oct 2022 03:54:43 -0700 (PDT) Received: from [127.0.0.1] (master.gitmailbox.com. [34.83.118.50]) by smtp.gmail.com with ESMTPSA id z12-20020a1709027e8c00b0017f941ee6e7sm6290841pla.291.2022.10.10.03.54.43 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 10 Oct 2022 03:54:43 -0700 (PDT) From: softworkz X-Google-Original-From: softworkz Message-Id: <6ec5e9960b725a21a4b0dad188d4eddd8b3571c5.1665399281.git.ffmpegagent@gmail.com> In-Reply-To: References: Date: Mon, 10 Oct 2022 10:54:31 +0000 Fcc: Sent MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: JHOiD7GKYcew 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 10 10:54:32 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 38655 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4a86:b0:9d:28a3:170e with SMTP id fn6csp299331pzb; Mon, 10 Oct 2022 03:55:12 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7Unhw5nXUgCEvNH+ZWOl4tJQiRhJS7oG1lfC6K4hoKC7W06TIHiJjpKdQhJQykQllubrUa X-Received: by 2002:a05:6402:3641:b0:45c:4231:ddcc with SMTP id em1-20020a056402364100b0045c4231ddccmr1421386edb.224.1665399312389; Mon, 10 Oct 2022 03:55:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665399312; cv=none; d=google.com; s=arc-20160816; b=sRE3T2yjI7/POBdaGtRaK5IYDMK5Oa/BxkiYI6g57Qb538wVslcde1x1y0im4garMm KrgpNlCZLo47X87lamtgBXxatI+Jtwx+Zw0EYU9vTQI9z8yYqSXkXGAYyJJAUnrdn+SI arU/h4Zpf2Ot+RzjX3xrKedFw+/43uwAYjzVd5dmZlo/+IsT5BCwTFVWZpTHks0SHTu3 T23VjnP1ElPtTLsDXtb/NveKBQPR6Tg7DlIE3F3K1aWSWugngphu3mP3I85SgqfSTKWD rDrL+vdFaVKMn83eN7aDKkKMrHDY7Fmk9la5PakN4+Wk+JMdBPEHPajy+clw9UJsfiK1 q7fw== 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=nkS1UAw00Q+3VDAQvf4ecpMb0e5gu4KR2QuLxC6zRv6L5GnUr9YsYlq5LS4Ls6ilqt 64Fy3Fq/Acbr3fvrJ5aDrqWLjsjC3P3u0TP1Mx5erZtqwLpiB4iGa6MuHJThvidcyRAs nB7dyyHqdATPtM5rC09DXBM8QAburGEnEiyXmEAhKiZatIYVlCKRhe/o5eEOJh5Eb3pi w3h/bNOlxve+pOLoAaKi7ZB6L4n0KvfFG0Ycedin1oK0JRqkTHdaxPmUa/Up2LUkzdlR ml+9amrVY1yJf8hk7n9tsGcADqVtlpxu6mr4gYLHWIC3PJtqL8ee03+HLT2LcqxZOwdL Z9+Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=WNvhw7+6; 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 sg6-20020a170907a40600b0078dcddc1b8csi183417ejc.788.2022.10.10.03.55.12; Mon, 10 Oct 2022 03:55:12 -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=WNvhw7+6; 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 4082168BCD1; Mon, 10 Oct 2022 13:54:53 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pg1-f171.google.com (mail-pg1-f171.google.com [209.85.215.171]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D6C2268BCC6 for ; Mon, 10 Oct 2022 13:54:45 +0300 (EEST) Received: by mail-pg1-f171.google.com with SMTP id bh13so10019448pgb.4 for ; Mon, 10 Oct 2022 03:54:45 -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=WNvhw7+67vytkm22kYWde9jaWe1b47tAUyVzOqMuYqJYhQljsejrhL0Yen2DqN0HsQ BcTOx+VX1Z9XMMHCB7/3rxktRuhlJqFPbptl77U+yqdzT3+382CDh+VupfaoWkdso4m8 HabN9xtIqfQgViE8zpgtchub43jdSTJYhsg+jkrVPicsqwnvkoU/nzIzW1MeCTptw41Q BVz36BZcbps1182hgisvSnC8pYxvF8oLBXFwTf/NEV+xLElA9jVUAcpsY7/jcdxRMbpK Jd54ZvthUqkKm/wfNu0fdfdErS8mIIyF5NVcWRbkQXjDflsgZARSD8k3oNNpBeZ5mge7 uW0w== 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=vnbqk3GataenOETi2nlH6cqnAvvqUZG14F4t7QjF/8Tqu+zovMZra3xGDdyv+Ux6xu RsA1bksmejyARErdZYdN2F7XW1S0XpVQVvKIqt/mPFgbstf9AvUNeX0M/efSw5tCmT2k SmeX+ry/toO+AWmHQTD+098RhyUn+I+iVK//+Ys1Py0NONTULot6dV7LXzg0D3phVcjU oZdHNuHKNXjfPKVOLpKXBIdtNpYIZFe/vWcliW2LF+2dItopgKbWDeIrbX5XjZHFtFw1 92CRAIPiy+cMyCXuUAejFtBUNDFFoArQkCCbeEExz5bckHQRB9GbVXfQ9c2/W3JM6FN6 ONjg== X-Gm-Message-State: ACrzQf1WFfOOV5QvLTQLhyNPWZww0fb/Q8Pi3UMnOdeOER9d3bZAi4Iy QMEz8Yb4oTWisQ2AgBcFB/jvu9BDNYw= X-Received: by 2002:a05:6a00:2395:b0:562:5575:b7be with SMTP id f21-20020a056a00239500b005625575b7bemr19035606pfc.17.1665399284208; Mon, 10 Oct 2022 03:54:44 -0700 (PDT) Received: from [127.0.0.1] (master.gitmailbox.com. [34.83.118.50]) by smtp.gmail.com with ESMTPSA id u9-20020a17090341c900b0017f7bef8cfasm6376437ple.281.2022.10.10.03.54.43 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 10 Oct 2022 03:54:43 -0700 (PDT) From: softworkz X-Google-Original-From: softworkz Message-Id: <3c1629de97dbdcd19480c190434e1a964e865b52.1665399281.git.ffmpegagent@gmail.com> In-Reply-To: References: Date: Mon, 10 Oct 2022 10:54:32 +0000 Fcc: Sent MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: w/1g6L3SawPl 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 10 10:54:33 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 38656 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4a86:b0:9d:28a3:170e with SMTP id fn6csp299395pzb; Mon, 10 Oct 2022 03:55:21 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6+p7BqYCg20l4EXtUL33a73aqExiYrlK/W2/LhjCoKytYZ0V3qjswvrVukvUrk76b4Ghp9 X-Received: by 2002:a05:6402:5485:b0:459:147a:d902 with SMTP id fg5-20020a056402548500b00459147ad902mr17881139edb.263.1665399321205; Mon, 10 Oct 2022 03:55:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665399321; cv=none; d=google.com; s=arc-20160816; b=mVLfIX0UxbQFXXHa1VgQlEiRwb9xHXK5OzsElwLwWTCPTcEfFWryAevYhjvuLgjiIc erJm5e6E+Ax+MiAGaDB0XLYL65GmuSXgx9O/acbstKi2CdXQB3yWHl5tc4nuncvDQhrq 2XroY5rHSCx3COkNddeNMelyH0iZMYf+3p29p1ARBmDw2CI66c/JUDembiPX27zHWGE6 iVZBpQTTBQnctfAIm5QJDAfVaZDGP655UWWnErEPtAxd/WjPAmareOdEt6/OnPvulCPd jk9PV59dLpn4R8BPUGJwVcUQt/cbbQ7aWTV+EThgGI9vpq8E6XFQNTWSBfMtgGez04ys 9ZAA== 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=x84utXiSMUSKnQtI8k5+2vfCQ/hSiT5MFs7qKmKe2FG32Lh0g9Vd/Jlzihbr1hkQQ/ DtZriTMYcGGsFm0cWEanfLhhq8fQmsFtYBsbF73N0PL6PXeZCxn6DREeHQIvqT9JqF5k Nky/kJ6GFxoqAJKqszESIDq0aR9Mc86QIj6Yucq9bUPM/UIehtQcIOHNRanjFO2/aDCW o2q+0pkAk6w3RW5IQlCnGIzeFuWOXv/ULfza0PKJ+qPxIAoKJ3z7q4RrlRcgxARaru9X OYGYfd45O23Ig3zJISfTA0FP7TbZhmmG01tv511dXCsgNt/whO+tuvZ1UMvY80yv+DWA Wv5g== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=NS270JWr; 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 x19-20020a1709064bd300b00781599eb7dbsi5763229ejv.573.2022.10.10.03.55.20; Mon, 10 Oct 2022 03:55:21 -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=NS270JWr; 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 4E2D768BCE9; Mon, 10 Oct 2022 13:54:54 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf1-f174.google.com (mail-pf1-f174.google.com [209.85.210.174]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6FA3068BCCD for ; Mon, 10 Oct 2022 13:54:46 +0300 (EEST) Received: by mail-pf1-f174.google.com with SMTP id 67so10406281pfz.12 for ; Mon, 10 Oct 2022 03:54:46 -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=NS270JWrW8rDmOwI86buXRFs5a1wY38rl+uYG8mEIEQAaKFgWq1x4o6FnDSavqAhut HNtmVrtsUUfBF0MzvFZhtmYwFffYNzKRDaeYNNH04vV94wnBzCw45k0cqd5SvfVLI9n1 W6/K1HgDtd1TrMXwxCpuBJDOeVscYaZHkTxX6Tnlv4rUv2E30zn2oqAZ98TwNl2ZdCNx hDSWnXovlmcS2HtqEUhdumhncbUwetHOaUQRn5aFMNne2GOORjQJrXWOMfHMwS7V+CVa 0N/eX5e5yWozjIr0QshJ4t1XZZ/ia5+CPMgPxVtZG9Pfymiglbx2WDB36BdTjJne0jtz wFeA== 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=pRDBpQLRy9XqE2z8soanIS2AdgjM0PGx7BDXs50IaNUJseiZbsCdStAwsiYqof7NQ8 JWiOP3AoTUCNFz1wI784MbmiBCjWDSsayINV074LSEFHcrl1q3hRP4s4G1FtLL2swcBf CTI08+cH9A6NqtoLlWYMpCblZk/+PCmqNolsyTf103dDxx8HFAxO6wsSCsoUCaHhQx6Q c6zrkKRXHTDXtKq2LGrgrbuFxlPVkJd+t7IDS/So4Q0AEEIxf/FHC8FRL4AzMKixH4sq ktsYeYGObYZ/dbBJkbPzyZnLqW8+aczQl7zM/7srMyzmBFUwidgwp1BuEsHIwIK8Bbsx CXfA== X-Gm-Message-State: ACrzQf1qBp6rsVD67sfpQAG+3SrDqycrbFXhCWRqbd/N1CCiuaaU8Dak kNTd/WCGiaaHCNnQv7+WEBT6ORtwJXw= X-Received: by 2002:a05:6a00:1a47:b0:52e:6a8c:5430 with SMTP id h7-20020a056a001a4700b0052e6a8c5430mr19004728pfv.48.1665399284796; Mon, 10 Oct 2022 03:54:44 -0700 (PDT) Received: from [127.0.0.1] (master.gitmailbox.com. [34.83.118.50]) by smtp.gmail.com with ESMTPSA id b16-20020a170902d51000b00174d9bbeda4sm6413978plg.197.2022.10.10.03.54.44 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 10 Oct 2022 03:54:44 -0700 (PDT) From: softworkz X-Google-Original-From: softworkz Message-Id: <2bd535abb506d1af278e1146de38529c22ed625b.1665399281.git.ffmpegagent@gmail.com> In-Reply-To: References: Date: Mon, 10 Oct 2022 10:54:33 +0000 Fcc: Sent MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: JeIukFOmcE9O 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 10 10:54:34 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 38657 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4a86:b0:9d:28a3:170e with SMTP id fn6csp299432pzb; Mon, 10 Oct 2022 03:55:30 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6ubUz2VsBrHNaimYB39IFO5WiYpzLFdZFCUDOI37IPKOx6P9yQsIapKmiaiPjS6FNo+iht X-Received: by 2002:a05:6402:2787:b0:459:5139:7e4c with SMTP id b7-20020a056402278700b0045951397e4cmr17594397ede.17.1665399330114; Mon, 10 Oct 2022 03:55:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665399330; cv=none; d=google.com; s=arc-20160816; b=Q0pAxdoGxfbyb4536+SNnbTMtPAkcO611TjCQazeBkDgL7mB9tG0K7lOddAiX1IMmw tVAdiuY3qIVSROoMlZFKiGVQTjAVLanSiYFwUhMnZiBlClm8GDdDmt0e6N/500WfaPqP poPkKvsfvIKR1DIQ5NmEVa+VZSGhCYQ6A9kpmn5hW2SmEb1H0WI6/N7Zzol82bzg0f6u 0DnSVPNdexHz5Fzq0EqFRd7SyADXxEsduHWpnnz0L7uNJuukeYIbSXIwdc8ggTUtqnC9 r83fXSK/VSWMIa//aCevLuNiMCwQUDu0CtsnTGDWRh8oSTLcdre124osKJY5wKep9DJM OXzw== 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=q5zt03SxsedXi6tIcL41rOGFnr1wwWIQIuVnUMYJ5Iq8FbYozW9zJVKG7ijbUK0XiB pze1HiSPqT0FkcTuY5vTvXT8RR3Jpe5/lsWw9C2eMoOJpPSlIPss1ChaaUMNgMOAe55Q Y0KYm9YohhI5NNI0g0E0J7ov4g0gUvXnqakvKdzoEmSbCz0nxBRLg0SLNRQdAp3DMYNx +7kYnplzic68gTlxu7esfi4n7REkQUIokyAT/x7yoShWB+ZnoLTvQBDW0HazKrgGoQ7q J4zOEPYzT4iKAlOmKQwlasWp8W9YRA6VAKvqdpKN7sudFoReKFDSaFERcA02FlmYvwtu oj0w== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=T72NjCIl; 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 qa15-20020a170907868f00b00779f8e7ec5bsi9808901ejc.42.2022.10.10.03.55.29; Mon, 10 Oct 2022 03:55: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=T72NjCIl; 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 72A1A68BCDD; Mon, 10 Oct 2022 13:54:55 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f53.google.com (mail-pj1-f53.google.com [209.85.216.53]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4680368BCDB for ; Mon, 10 Oct 2022 13:54:47 +0300 (EEST) Received: by mail-pj1-f53.google.com with SMTP id l1-20020a17090a72c100b0020a6949a66aso10059641pjk.1 for ; Mon, 10 Oct 2022 03:54:47 -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=T72NjCIlpd0DRx4JGcDMEc/SoPD+jOv/37ZGnsbReW3rZ3p0rKxCDFyv9csVFkJaEr shQYg2IWi4bdx2kpWaHc//If/ViuPSVsCOZ3fxWrn56GT6xhCnN4za8g2wgWB+D8s+Ic WgcQ3kJioFqCAWYrrVDAj2Ng3G5vB+E5sciecMXP/Nce/9ZClxY1LFwzlswgkDx9BYcg PHV+4r2yOPgBrZnHNjgbjmQfCJ0Yhm0UV2moHek1WAXz/kFvujCv64qsRC2gSP2W2gU8 GVNArgNzxV00n0IgVYDRPsO0DY+TlDaemyIXay0aJ1eLNguD33oOuvH7Q8cFjZxjZ+Wn srmw== 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=Zyv02xqkLJrkKEwgWHrNhKJk+PPazOxzMAGTrJsiMeYh2kw9mumDewxpT4fylAeGcp gE4U6Js1hYxTZtqmvX+MBuXaTMIM6kQienM9p+ZWlrIOHSM5+9z+F2Km8KpL1Lhwarvx aYt8ou9BgiW6gfcbQYm5fyJdiOwZttefGSi0g0YS5iDV34qQSuOXdcz1ZUbhAalmYeby TAQJS2UsKsZUimlM8ZVhmGgHN0BvYAPJ3xpdYwjPWfPNJpa791YUJpcswQjYAlRfVgW/ FHRCmMB0eUA1bs7RLV0GjG3nVN4CNawrPoCJ6962sN1bkIkZQ1XDgGqQThalWBC9og7u dq1Q== X-Gm-Message-State: ACrzQf3+gsiQ4QlwKZkx6ioERyhUPZQjkMRMOne16QCCeSgBGCBO2Z6t 2UzziGXaFWI4hoWWFg2PWrKS4pwuBGs= X-Received: by 2002:a17:90a:d48a:b0:20a:f65b:143c with SMTP id s10-20020a17090ad48a00b0020af65b143cmr19899335pju.199.1665399285581; Mon, 10 Oct 2022 03:54:45 -0700 (PDT) Received: from [127.0.0.1] (master.gitmailbox.com. [34.83.118.50]) by smtp.gmail.com with ESMTPSA id 63-20020a620642000000b0056109e15638sm6563678pfg.54.2022.10.10.03.54.45 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 10 Oct 2022 03:54:45 -0700 (PDT) From: softworkz X-Google-Original-From: softworkz Message-Id: In-Reply-To: References: Date: Mon, 10 Oct 2022 10:54:34 +0000 Fcc: Sent MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 0j6/quJhor5/ 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 10 10:54:35 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 38658 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4a86:b0:9d:28a3:170e with SMTP id fn6csp299519pzb; Mon, 10 Oct 2022 03:55:39 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6k6aC0ix1bIMlQywG7pHopL8/tXBBmu7lmN9dLAYpr47DgSmHKsWTJH6AMy8NuSu8xI9iY X-Received: by 2002:a05:6402:3709:b0:459:279e:fdc6 with SMTP id ek9-20020a056402370900b00459279efdc6mr17368672edb.338.1665399339645; Mon, 10 Oct 2022 03:55:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665399339; cv=none; d=google.com; s=arc-20160816; b=nsvyUqKrVtE+qgMAqMHZVOfegkJXzWsC5VG/CAlLJuY3mVZBM4M2z5IsNlAKudGccT g2tcPKvbgW/wNuw5eNydycNqk+X7d/kdrUXgOvciTt3yjrvYmfbsO+mdOvb2xb3XmO1A kH2j+S1QIAg4CCj1KGrJ7eD3qb6kDgjW0QEk5HQjPyweLxNFSWPMEVWH//TNpC9jk9Ql NPwSczRed5SCi4KNNNJFU/Ersk55mugAbyCWR8xaOy8KT9sNCBov5AnmHjOhXNCNlpGP 4l/lztMNDOBS+DoJKsGciLWnRda8sk4tXxdTeTA01b3QP50joydTCgIUSEa5wsHnEGIb YyoQ== 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=Eixkd/4X1HYjt8WhkUdCkxVEe+2HfeXnp4LpES7R9k8D6zavCpaa1JTIcbaxUqf/Zb r2IVMBfZJrZBJ+cDW+MqoznojnIvaQissnLPtvgOtHAoS78P1AsWMTjKt3snHMv3X5fF SF5lCF864c7O7+Xb7Mezx5dHqFI1ApFDiUlPH1H2vZP9Vrc5iAeQgoalU+60RSQyTgWr WAl6NGvULL1slbJr98g8L7vztJ0ilV6F5Xjx+nGEIRCsY7GTlW38ojWXjXw/Ad2vJUAk EGFbqLR5sinCeOeGNhqtGG1AyPvEEA/LKvA7/BfFz6VAn7KGUpzaSKbQl/xWmV8erRuJ rlsw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=X3A8DlHA; 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 y8-20020a056402270800b004592d6e40ffsi12884545edd.31.2022.10.10.03.55.38; Mon, 10 Oct 2022 03:55: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=X3A8DlHA; 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 76FF768BCED; Mon, 10 Oct 2022 13:54:56 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f41.google.com (mail-pj1-f41.google.com [209.85.216.41]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 02BEF68BCDF for ; Mon, 10 Oct 2022 13:54:48 +0300 (EEST) Received: by mail-pj1-f41.google.com with SMTP id v10-20020a17090a634a00b00205e48cf845so12743639pjs.4 for ; Mon, 10 Oct 2022 03:54:47 -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=X3A8DlHAttGPTnnGZ7pOCbUIEQqtDzXJ6tcgyUpCitxPGlIGov2wJtwrlaSekuU80G laGiHgr9uRsgj0EuaGwGK71ZHAqCs9EtVDQW8GHZuPfYPzH6RigzFtsD1s6mxLzXBMFA lppd7lcNDnUZqJgOV4QtFh3cnk6FdC5z/w+VjHv6owopZ9RbWzh5mek7g/xSL/ryYycP tOGME8C8Lw1XnDI6oyYhwV6cOt/VgeqG0FIZtwvrq9VQ0U9xltZt5SdyUq7D2/CyXWRk h5fPJe5F8nEAKk59qT9+vS8nWent43hsqOMpIeGo555yTirlUOC13NqfsqtuhqUyAn6P +/uQ== 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=bi5EOhPtCcRzxNotiL0yWha6ZSeA9Y7wnLRSWupgTLWgRqg6D++kS+7JDBtqJTLh46 aBu/mDJZZr0Trn9nDx/v/TUJhmT8vG3FZNaiKYyCGj8vvH5rfPch1XP4iVaqFeTx7Xc3 QdxNHudfZ8T7Sq5XvPvy+pNMD7+naYcOyc9sixWJE1q1vwGLjrmi8SD723awIrMYG5DM V4j267uSQo/qEkI4rLmY3JisLYyk7phsxk+8Yr9XPr4x2qXJ8dVE63ZnTKuPkVedFS9E zQkmsebc9FtND58xZWE+W2uLetEmZlw4/quabM0keVTf3qgjqqsR20LEBndQrn3vA0dx J1/g== X-Gm-Message-State: ACrzQf2gnx3dnrvfln1gSJqwtrdnOIvQc5GlgmEkFDMAuPioLk6zH2gS Sg7imKqZ2vOdHpKLmKZ5R5IcNfqLKFs= X-Received: by 2002:a17:90a:b10c:b0:203:6a73:8a93 with SMTP id z12-20020a17090ab10c00b002036a738a93mr30334658pjq.178.1665399286311; Mon, 10 Oct 2022 03:54:46 -0700 (PDT) Received: from [127.0.0.1] (master.gitmailbox.com. [34.83.118.50]) by smtp.gmail.com with ESMTPSA id 24-20020a630d58000000b0045ccc30e469sm5931659pgn.25.2022.10.10.03.54.45 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 10 Oct 2022 03:54:46 -0700 (PDT) From: softworkz X-Google-Original-From: softworkz Message-Id: <6624c66688a5b6bfbc7fcf427c45f2821ca28d45.1665399281.git.ffmpegagent@gmail.com> In-Reply-To: References: Date: Mon, 10 Oct 2022 10:54:35 +0000 Fcc: Sent MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: t9tlBtfuskPp 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 10 10:54:36 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 38659 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4a86:b0:9d:28a3:170e with SMTP id fn6csp299588pzb; Mon, 10 Oct 2022 03:55:48 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7evx/4Y5oIb2XbVTb0J3dkZlMnk7+9SjAf7qJDmv8I9WtPeY5xM6x4jJAlH1q12TH8iA2z X-Received: by 2002:a50:fe99:0:b0:45c:329a:40f6 with SMTP id d25-20020a50fe99000000b0045c329a40f6mr2395157edt.425.1665399347904; Mon, 10 Oct 2022 03:55:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665399347; cv=none; d=google.com; s=arc-20160816; b=CoEwIBhcTLLJCncZn0y1Q1ItbZHZE4iW1lhQRZltJGGAHCM34Y2YMlXfQz2uNXBCYN gvcDoUtynly3RT7d8oKv850Uy99NSItcFA4E2RA84HjJt4cOZAr9QbKleVSERqfdT6fd rRplMKugfVvX3Vg8XZp11B0daSENpogAGB5VPGqwCgIsa8sWi3rIlbCEMcONB9ZZxv/W CbT/8Sos0eldDtwaKNvED9yOgUmx4qlOp+ECHNrMOksIEdQEbGzyLltIZf3o6NzjdHUb D4WnkvSt1cu05VyC3e30zWqv3RXKsbw5/4kcoQOobDdXYNYFxHXQe2pXioWxOlBcB49t oRiA== 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=eNFornGfzbUK9UA0iVReZsX213I9JTZMBz++BLJXD2jKzwVPzxZp2tVC4Kft1mGVpm LiJtU89QIf46MTeu3u0BZRynvSO6JfZ4P0V7KEMWMVb3plu8oOpZPxEB52QWRiOaIo2F FeWyrQSqkL996/EuSQ0iPkH+Wlx+TEAxMeVGjWCxrJxNDgSoAID+YBDaO50J9xcJg1rJ aM+6IauxDyIlFTlCENto3O3AqimlOLYdF5WVeLD1AmjOARkF2zZCpNVv7N6fUADtbpwV sqAOLDr7xLVWZlXyVZMnCvh75V465zfQAT2pGREYybaq+W/v7t4E/ajEojUvf2IlKR3P hooQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=izQKKuEL; 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 l15-20020a170906794f00b0078cb08c3727si11021879ejo.916.2022.10.10.03.55.47; Mon, 10 Oct 2022 03:55: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=izQKKuEL; 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 7F78A68BD07; Mon, 10 Oct 2022 13:54:57 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf1-f170.google.com (mail-pf1-f170.google.com [209.85.210.170]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C074868BCDE for ; Mon, 10 Oct 2022 13:54:48 +0300 (EEST) Received: by mail-pf1-f170.google.com with SMTP id w2so10500655pfb.0 for ; Mon, 10 Oct 2022 03:54:48 -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=izQKKuEL98RBagZNDTIe5MylnB7eCbPp8IlOb2lrqXjNQCXKTH5qFWXc14MjedLkoc Q4F/VYYMeTZMOcZ/zg4nVotH1uYj7ji7URURAWQTxKOjIWm3hKgkOVWtptRPKM/0NCl0 JoaFMoa93DXw83SWPdcYm+Elr0G+ZOvNZnuQcUkk5M+4u0siahC2EA5q+Y+RrkLlxzuK 5jPlZZ1VXOMsX4iO5HDs8NB0G6I0nAohguLchlCdjCnizVRHn1r9mDwbmmhd9M7QXYZ5 iks7djf/CBbUsto/kPxjEUuytydRHfP8/gflzvsclwtfpWYdSs4ZUjmJWN+JN75wGKnv hA8Q== 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=LuUQcPx5GJWHGU0fvDaxU10+yj7Vj3xvH9zfaR1/VPMQip+OpQfR/mXIqz0VAkEHRH 9GFrD3x7Z8fa1QJ6VQUhjoyPMCh+uV6LHow0aMovXAVUoZFfFB+0Ufm+SG9M10ICAggl HqVHPsaQsi+APm4/3EKSaZv6Qf1+13+7afwXYZbZwSF5gx+rRV73zuoAbNtR2RXJuCOa zNJndcJRx6yW1iFYbd7dh0dEx+UchnFhk2Ke7MudOfREd8bTU0YJvEkoOE1UbUcenrRD 4zFBrVgMtd0fng+vFx5jrbQhPPHLlSKbmthLPcM4jU4guI+Xniw1t2B/vz0cIm+ZKuO8 xtkw== X-Gm-Message-State: ACrzQf3lvNglQQ4B2QVhz+JytPCvwJ9uRjaq9C75Mpd6y0IV2W3LGqgY c+U33OuRCEnXvNZjvOQt2t/b65mIKS8= X-Received: by 2002:a05:6a00:1a93:b0:563:120c:f612 with SMTP id e19-20020a056a001a9300b00563120cf612mr10122420pfv.10.1665399287007; Mon, 10 Oct 2022 03:54:47 -0700 (PDT) Received: from [127.0.0.1] (master.gitmailbox.com. [34.83.118.50]) by smtp.gmail.com with ESMTPSA id c2-20020a170902d48200b00182305a787fsm2260363plg.62.2022.10.10.03.54.46 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 10 Oct 2022 03:54:46 -0700 (PDT) From: softworkz X-Google-Original-From: softworkz Message-Id: <989f16597e9cc812e3ead85994f10217612160df.1665399281.git.ffmpegagent@gmail.com> In-Reply-To: References: Date: Mon, 10 Oct 2022 10:54:36 +0000 Fcc: Sent MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: YOh/rqEGfrqB 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 10 10:54:37 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 38660 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4a86:b0:9d:28a3:170e with SMTP id fn6csp299646pzb; Mon, 10 Oct 2022 03:55:56 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7RwY31RlmS5L1YgaiaEvj4rPwGaS9F78CutxArd9X87HDWy5kEzgdLUUUJPIJLxSwxVqu7 X-Received: by 2002:a05:6402:2947:b0:451:32a:2222 with SMTP id ed7-20020a056402294700b00451032a2222mr17326396edb.376.1665399356132; Mon, 10 Oct 2022 03:55:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665399356; cv=none; d=google.com; s=arc-20160816; b=urtsU9/YkCJYPX7L5mCHMgoXBK05Qg5eOJ+vRntGgai8Xf3DTNmENbmn+P4q9tXc0x hJ3B4goZ5cEo5J6B0JVOlYmgXOHYAZyeKjzpTEJIRBnL38H8F8j+fAuYWWNCJ/lDi9nz DiOChSu2zKquk8/YZJGmKpUkYjMp0vijHh83+h2nyKQbDHkL4Sj1S0IvTgEDSlKn4wFM ZUWYx7I/vQYEjI8HpEiOyxzF335/B8Wvf83oJ6BVpz6RxnVJtEB57y7JkOfzWYiycpUU h0+gLeN/oftVzdAxX2x+tmbWAAbfA4cQDg19YaYRohl3JFduQ8NHQRyIXBN5GEf9t0fk 5SDA== 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=gEr8Fq71hRijvowWakw6JlLSf0UavYLAgmgqckCLBNjg+bHNaRdpQVUes1CIK9rKRB sP0fPo+C01iNYwZtIBoUJakmcn172btWYiDI1x3PT6NNFWUAyDoGN1t5dbfYgqV3UGps WbyW04wffSVZ4430snR78viSL9bwRJfqVwieMpe/25dS6+/wTb/Spp+gTjB+3ORZH7AY JRc90kVwn38Tiai2sv0YG7GYQZ7rxCsQcLvDD2WixGLZcjdY8wHReduT6APiBGcDPE35 7b22a9NhNaQ5qiTZdGYU6/1W5uba1FbX1mdsimGPI6sFmqbRWWk2K61iGlXP4GwbBcsR /uww== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=TJcO+Kq2; 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 hv22-20020a17090760d600b007313312730esi10421067ejc.85.2022.10.10.03.55.55; Mon, 10 Oct 2022 03:55:56 -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=TJcO+Kq2; 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 A534B68BCF5; Mon, 10 Oct 2022 13:54:58 +0300 (EEST) 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 6746068BCEB for ; Mon, 10 Oct 2022 13:54:49 +0300 (EEST) Received: by mail-pj1-f52.google.com with SMTP id i7-20020a17090a65c700b0020ad9666a86so12785301pjs.0 for ; Mon, 10 Oct 2022 03:54:49 -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=TJcO+Kq23xR5o50mQG3RdsKKPk1SIXHMHRyPpOPSJuCZBpdIKBx73sfZDoxMUUyNF+ LHc+E63PHNqMFzqbtniIviNh9h89SB9ubXB6x//RsEIOyxCh6Essn3xHXf9RLZDgAgtJ 2WgRY/I/7N2oX8WfGvTkRys0wJ4dI4oDAhER78Qru3yzRkZXlF1YITSty9b2wJu8eMrE YaL13HOeT9Gr78F3jgxaPDbbrqFJdyeDZsKpvtHsUyu939cdyshoPIdi+RZKjcGAouBL MDVeltRTRlQI8eAzTYWGtgxTt/jkbrllxGXFQiWH8deedkYMbEvY3+9saUuiFRpxOlL3 QOsw== 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=u10UKKyB/icnMj/aPaL/1VY+2VXaix6ND3pHQlKrDIaonXcQMTrl1nR1c5UMiX9Fn7 3SECy2i5xx939bMx3ZXLwQXB1vnPwitN0tTJYgE+aNdeXU4MyJoGGUuSI5Ety7suZk6N +qufFTPkoe0Z97eHxH66YgfJLiXGcKh+46sGShn7haO5RTC5Ku0cf7+Sn+PSX+WYrT2A vPZ/lzpXgSt/V7fTcDlfcM06CUUEG/mdc3RcbVrbBS2Lr5QDIEP3JlmNz2tfsAfvvfK5 5UIZjwob0aE8GrJD1/etobOz8T3OrPOZ6uR1PLprpoJxRwh7gl25L9PbMspHFZ38wpW3 Zwfw== X-Gm-Message-State: ACrzQf2tEvEJRMXoeq7uOplBXpzyvFX+tSaEloXSpNFOjwSF6bkAFDy9 IlHT3QGLxX0XPtZ+3k8oepGakRUhVnY= X-Received: by 2002:a17:90a:b00b:b0:203:a6de:5b0f with SMTP id x11-20020a17090ab00b00b00203a6de5b0fmr19896196pjq.134.1665399287802; Mon, 10 Oct 2022 03:54:47 -0700 (PDT) Received: from [127.0.0.1] (master.gitmailbox.com. [34.83.118.50]) by smtp.gmail.com with ESMTPSA id j8-20020a170902da8800b0017305e99f00sm6299772plx.107.2022.10.10.03.54.47 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 10 Oct 2022 03:54:47 -0700 (PDT) From: softworkz X-Google-Original-From: softworkz Message-Id: <5ff8f82002ea301c00dbc54beff1063c7e26a8e2.1665399281.git.ffmpegagent@gmail.com> In-Reply-To: References: Date: Mon, 10 Oct 2022 10:54:37 +0000 Fcc: Sent MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: gdI17+UDVQA2 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 10 10:54:38 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 38661 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4a86:b0:9d:28a3:170e with SMTP id fn6csp299717pzb; Mon, 10 Oct 2022 03:56:05 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4GJGDZCABFjEC8a0w8J6UCFZfwWrsISnHDV9bwTgujkqs3uC/Z3qls/2Urepm/rbMQTpEp X-Received: by 2002:a17:906:8a68:b0:78d:9680:b03 with SMTP id hy8-20020a1709068a6800b0078d96800b03mr8697876ejc.49.1665399364792; Mon, 10 Oct 2022 03:56:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665399364; cv=none; d=google.com; s=arc-20160816; b=WvMLuKh1lpc56/G2x4OqsBvaiOJHMpfPbWJhN1JzNAaxI7SfiTK6J7w++6/HNbDsUx nERBsOyjEYVXmd0QafscxCh3llewQtAo0E4b7OGW/rfLabsA8+DvYQs4UpKFkoHC3oL1 LwiigLisLVYwI9S1iteA/C6arCDPmUQnF4nRXl9l25gh/565Vhv7OsxhztYSIXE1KF4E iExJBW+DJ1qmgd+co+LtdInWf2fjOai0zdzjPt0mIyKMQEOSJS2mb9ndZsZz9IjHnF2k oN/FItmPRoCrlKVjxdFQiZsLqacBwQQAYkrhIsvETie/r3+QVtpR6qiYwtTnMeMoU6aI PjeQ== 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=fv0H5/BHJsE4EheCApI6ssHbaaixb1n+WIoTSUuEp2yonN0fFBH5Hp0Er5nYFNMDZk lv+pQX78C4Azyny/rASIet3opN7Ma5oSYCMOXGHUSzW/BC046O8XoQj0yaOWnIrzDE/o ottoAnJU+Mvm6Y7hoRai1xFejhFItLsxOrGxGH/RpPnWA48l2RmDBfJhFLJ4L8bJird4 PknZXWMVaP+9KcDjYN2r5rnOEkRvPWT+sSR8nxagEN+sTL08OoZobX0FqYpzdvJd4lLr NDzO/Et+TeA6jkxVH27qyKb0cJAVUGCVFOlCub6zFx0VbVpZFei2LXUVlWJOfN8OhmOb TjXg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=U1C0k12G; 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 n14-20020a05640204ce00b00456d5c4de7fsi8548156edw.240.2022.10.10.03.56.04; Mon, 10 Oct 2022 03:56:04 -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=U1C0k12G; 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 AE33D68BD13; Mon, 10 Oct 2022 13:54:59 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f50.google.com (mail-pj1-f50.google.com [209.85.216.50]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1375A68BCE5 for ; Mon, 10 Oct 2022 13:54:50 +0300 (EEST) Received: by mail-pj1-f50.google.com with SMTP id d7-20020a17090a2a4700b0020d268b1f02so3333552pjg.1 for ; Mon, 10 Oct 2022 03:54:49 -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=U1C0k12Gt9tslYkwd3isrlnP1GCygIttSuuMtTf1fVTHEY9Sf8UBMHKS7NPfv8koM3 hCX25Ou9W2VVCiTE3coEaZxfz5y1XUgPMlzHTD1L1DMncHaf1WuXCpdr5U4WD2MZFzji cJkOb/zHDZSOzZIyvUA5TaymPe0ay++qm5zbooJ5fCIW6fR+Oxa16ksdXA6aTmskESVd DBs71F/jPpl28M7PGiJSUV84T+FplSDIrFk2e9HvfKFLqnU0t71tC3ttMi0XT5A82Enb ad7KZZiVnQIyFTzxlKLTSJrxaq5YkizgHKf+FPlW4ROk/6aRRr9krblu15CXqRIKss3q 7ocg== 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=gbUaPsEAD2By0Di50CZLwZMylLkvTt9ATVho8qPrP34O2eBNF5xuJGUsK1uNO2HeR/ 6i4EZhsKuNG0JPlgyiZxbMVlMaZbBg1Dh/DlSSsrI3zMbeJtrJl79IpRNxgHVbb1cZpl oqpiOP1Brm3x2PE5//Gg40c+OVk6bXifFzrJt2aH0mIzP4+AvqM/gSKi+PenViQBiSNe RMkS8GOrooUSQBTglSvg/CJHoPjNAMkQRd11Ziv0ROKGhCPdzNb4T4XEwxRSREom/lCi fDI3MFmFPtYgdoZn3q1e+NzSwnAdht4RKB93rAtkPkK3rJIYC6U9QrIxTGiFQN+uW3T9 QUvQ== X-Gm-Message-State: ACrzQf25ISg3kyzHB/Ru6Q9Mi6bZLd6TGUhdPzdCqXSqam6w2y3r++Le JsJ/V5drgfK6AD20mtg1lthDMZsIM0E= X-Received: by 2002:a17:902:e5c3:b0:176:d1b9:ee33 with SMTP id u3-20020a170902e5c300b00176d1b9ee33mr18287132plf.122.1665399288408; Mon, 10 Oct 2022 03:54:48 -0700 (PDT) Received: from [127.0.0.1] (master.gitmailbox.com. [34.83.118.50]) by smtp.gmail.com with ESMTPSA id n9-20020a170902d2c900b0017da2798025sm6359419plc.295.2022.10.10.03.54.48 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 10 Oct 2022 03:54:48 -0700 (PDT) From: softworkz X-Google-Original-From: softworkz Message-Id: <4fba07d9f978cdbad394c1ab4af763bcc2a2ad71.1665399281.git.ffmpegagent@gmail.com> In-Reply-To: References: Date: Mon, 10 Oct 2022 10:54:38 +0000 Fcc: Sent MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: x6LgFZsGzBO5 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 10 10:54:39 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 38662 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4a86:b0:9d:28a3:170e with SMTP id fn6csp299782pzb; Mon, 10 Oct 2022 03:56:13 -0700 (PDT) X-Google-Smtp-Source: AMsMyM566JT9UbaKnkVpz8zj8U38013cCw1+l04G5erzDEhB5gJL40nMbK9wk9DmigAsmelkL6u7 X-Received: by 2002:a17:907:80d:b0:73d:1e3f:3d83 with SMTP id wv13-20020a170907080d00b0073d1e3f3d83mr13940584ejb.372.1665399373076; Mon, 10 Oct 2022 03:56:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665399373; cv=none; d=google.com; s=arc-20160816; b=mAQ1Kot2tlNh/uP8uR5T0ZE83neTMVMBM07tv0sZHQtOj1BxfLaiNQsVFTU3hNlR2f +IhhuoNSIh9qx5mkzsyocj7G7iwMoY2+LCeQgNS4pUQttWN9jfRt99uQ3BC95bl/d3w2 I4081PVBkj5HqxTrLVkiL+hAVzveM0rCVRq8K6B1yq+JL6+gef12RB8RM1I5JHhFxdG6 TloxGjRv0OII5+QaCqwxEf8BuMXOabkUAu55T2wKOdIeoTzZv+4yDImfZw2aZdLrCXN0 QT/r1muMSKO7wAsi331d5CToE60uRv4HOqub5iOOOsnFcERwuOxDPEkYqua/f/MT/YZz YIaw== 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=WJgiGPs1SP7Gm9/m476Xo4xzL5p/rUKD9piVtzdXtCU=; b=tmC290/e4z9h6xobyDzfqQjo/TDPkSIxBwmmncmw7/1pQSfQNCqdqYGMN3xFroGRoT h+4mNxqjDsEopsib/40oi06N3bBGGk3juzc+uIdx3owYWhVjsoTR9jBl7U2sKrfzPnUi /2Y1HUgt1m1tcIyOBuDXwjN/30lEmaFiMOTdhma4Ogi8Qn9vDeU8ZQyDc++ScQwj5ynI NSne2Ubh7adgZ/WxXTu2U7rn+CnGCYydr9VBoXCubdiTL0S+IRVhTq9fDJdSzK6GqGJh 7g0hsN9FxfBAkKCDnO3ycj0HjUTPv1R/ukJUSSeN+GqOQl6dNEy2hoziFbSc3DOZEDIZ 3jig== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=npw2bwoD; 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 y6-20020a056402270600b00451db83b2d6si10799567edd.312.2022.10.10.03.56.12; Mon, 10 Oct 2022 03:56:13 -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=npw2bwoD; 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 BF87C68BD1B; Mon, 10 Oct 2022 13:55:00 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pg1-f176.google.com (mail-pg1-f176.google.com [209.85.215.176]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id AE59D68BCE7 for ; Mon, 10 Oct 2022 13:54:50 +0300 (EEST) Received: by mail-pg1-f176.google.com with SMTP id s206so10021770pgs.3 for ; Mon, 10 Oct 2022 03:54:50 -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=axrUOzVoctYQOVaSHjkpyDcj5hXi7BhL9Xm4aV65X9E=; b=npw2bwoDcVhvSBCa1tK/87AY32Z0h2pCYjAM6HsESrBEjiD2Yultxl1BNFr5x37sHL JQVuNgH2Fza/80FuPo0ryrZoehun63gRo6na1nORLNCEusAAtt4S1B3UQwdHWVIPZNG8 DxH6yjjMS6+JLrZcFEnRzP0PsvvsQrneMknySejU+XxYy4GzxTQMjn6+SF8Fq/dXPFk2 4rh84wHNlEx+tIRmUf5hGqRIjCO3+2CcAZttNtA6j7QAkmunSOV+5c6ck0DhK3KQUCTo m9v++sZ7tHBURrfqpjxkAohn5Pz8xdskV+wyDhRPpVM4NRNcg4FjIWdIAsWmw5yTkIFo YPxQ== 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=axrUOzVoctYQOVaSHjkpyDcj5hXi7BhL9Xm4aV65X9E=; b=1sPmzKMnvOoTWHgwbJ33jT/N+0sVwJ+hmYaZtF1UwW9KPUX+6tF3tFdqSrByk/ii4Q AvFx4/sJrhgs34Z4zP06JWq2afD8xFVno5a0naTnyLf6QG1tlHWSeouvhTeyB0EendXm NpuWox8E9Qx45BbkgNKfIi/wkfgaajxeIRb8NyYgHA4Wzb9qiOqHFtAcN6CDOvoyDCEp zASCdn8X8KzToetRutj2n+BYY4pJSqrW9czqJKwK6CA2+tNRxON9/0iUE7k+52HUfy5g Qe3HqebcN4CHuE09zg0G3LMuLkRuz44kF4sv9l/m571GCx4wiPp8/LTShfV9g7JgrpjF cnxA== X-Gm-Message-State: ACrzQf2euWdF8IetHL3T+470pANuV7fxg/nQGleBv/cVAgJ9sjY7AIYI jgcX2eAo6fxJu/Pnu8/fx7rh1DVLZvI= X-Received: by 2002:a63:4f09:0:b0:440:4706:2299 with SMTP id d9-20020a634f09000000b0044047062299mr16482470pgb.115.1665399288975; Mon, 10 Oct 2022 03:54:48 -0700 (PDT) Received: from [127.0.0.1] (master.gitmailbox.com. [34.83.118.50]) by smtp.gmail.com with ESMTPSA id w4-20020a170902ca0400b0017eea4a3979sm6283720pld.154.2022.10.10.03.54.48 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 10 Oct 2022 03:54:48 -0700 (PDT) From: softworkz X-Google-Original-From: softworkz Message-Id: <36ed7b96ebff22187d279617ed706d8a13ff8a28.1665399281.git.ffmpegagent@gmail.com> In-Reply-To: References: Date: Mon, 10 Oct 2022 10:54:39 +0000 Fcc: Sent MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: zXKLZ/y8T6BO 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..7be7d52589 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 10 10:54:40 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 38663 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4a86:b0:9d:28a3:170e with SMTP id fn6csp299849pzb; Mon, 10 Oct 2022 03:56:22 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4J8iEAgq6meG26ogOvmEP1NxUHKz5YwYNaZNkaTAiRrebv7fjlXoT9tSVQg8bhUx/AxLoV X-Received: by 2002:a17:907:75e5:b0:78d:95d3:255d with SMTP id jz5-20020a17090775e500b0078d95d3255dmr8436856ejc.495.1665399381841; Mon, 10 Oct 2022 03:56:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665399381; cv=none; d=google.com; s=arc-20160816; b=J02OjnuGf1EkDbK8Ug/H3m4lZz5OgeORiDJ8lMtuUrQ27NPGLDTjw3GXkSKsBxzkOj 7ZqkYoR+4f1m3zo9TOpALD1uFvh9deLeTX6C5bjlxhjIMgiz6YZ2D6D5RKEtknyjycMA uha1DZYQ+cQ1CN6rKJLWcvyPrO0Pkr1+sWFCOxukWCO4Q/YaDU7RctvdiHWoIkTxfO1P P4q8BR7ypH/8kq9e6jtbplOl16xN6Q2Ik19sLmmaGwzRzC/fhFtAHCpXn/4vXGd0dC34 YuY838Vo9dJNdPkpobwa7glsvXIeQHBCPiTxtwnYfKTFJVcnwvfQ8J5U5BjTWspmlrNj p1FA== 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=MarJeO7iV417/2QO7fmgL7GeA/Vcn6tWPR4v5V6+QrzWKxqUu3ycDNhAiLfw2nIYV4 hJj70qCS1Y8LYfDxpmOV2no5KZVnExSVWdAII9XclRwoH2fBo114R7lUKKe9lc1kxI4B VgzAbjXXJ1rOsYUIN7hydKBcDgu7Hlo5+W8qbbJg2xFXZRrF0IET+HJad9GWvvZg0zkj gvEsM1N0IgTMMZ5rJmjaaHk/y3vpj+ll4jHjxB20ScBJeYiMmmNcnr6G1aHKPWc5mnIS YML10K95Z50aAFjG6HCeH684Vp6VqIH4Ah5r4I37HbjO9H7O6sAr5AkLFSUlPMSbjgru 25qA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=JgPDJexB; 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 cr19-20020a170906d55300b0078db656378bsi3556530ejc.763.2022.10.10.03.56.21; Mon, 10 Oct 2022 03:56:21 -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=JgPDJexB; 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 B304568BD23; Mon, 10 Oct 2022 13:55:01 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pl1-f178.google.com (mail-pl1-f178.google.com [209.85.214.178]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 341F668BCFB for ; Mon, 10 Oct 2022 13:54:51 +0300 (EEST) Received: by mail-pl1-f178.google.com with SMTP id n7so10071723plp.1 for ; Mon, 10 Oct 2022 03:54:51 -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=JgPDJexBfrQmwb1zOzfycaprJAv3FIIjCnzJ+Boazl0znljt2WJHEGv99Xjn/fM4YD BZ61k6yeJt/lMu5265jEc5igG727jHyiwK4OYQQEwwpKQym8IrSe9obrm5+iNKybTcLK +/9WSAz1Lat3LDRcZvA1yrXxFaVqWzRW/fohXpaZAZANXvxJD7YRJbS7Ckmfk7EshoGA 8dsQFTq/LsFFrua6PkfWfrq9ABVpgU0/vWg2EMe8QCmADb7JzGwLZzCLxkQaj6GYmnaL YU0DlQ1mZBYYvC2CRPjJW8K+8o1O0+4LY+dUcelfC2hwteDmNqVYd0f79IvHJzGiyMUG nHzw== 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=P5NxhimUS0TiXt4bs30NhMvMxqa2Ii3TfwgRpiJmcFJNouJ6htLJBPKfwVTCb7CwZT rWW7dwlsS9K2jQKRkICEHRFpymgeORtxb53Jr8lbGuqGmJi0oSiItL62X5gBHM/LF4Bp NT5YCIJB7mAEKZwKLOwEjS0RBhCRbaCtxBZbk3had+dz6Wc/EaXLlQm01hpI2RfsXSUE ipOFHeO7WC/Nly/fUIDYmCt+gqPpNpmivk5cBbx8vgD55x5QniT7tfAOXBYyzPjEjbjt LAGP2XwQuuhyF42q8Mq+vgnGarY877Le63v4iWEGyzOjEBBo6xutQ2z8k+NuVI86CbNK Z1yg== X-Gm-Message-State: ACrzQf1pPUZLcMuZtgmQSE0eQtvL+toWvVxIPTRvLoiVUH+W01lJWRcM TImbMglM635KGi0K0dssb/93GrZ+vSY= X-Received: by 2002:a17:903:18b:b0:176:afb8:b4ab with SMTP id z11-20020a170903018b00b00176afb8b4abmr19080246plg.80.1665399289579; Mon, 10 Oct 2022 03:54:49 -0700 (PDT) Received: from [127.0.0.1] (master.gitmailbox.com. [34.83.118.50]) by smtp.gmail.com with ESMTPSA id d5-20020a17090a2a4500b001f2ef3c7956sm8917608pjg.25.2022.10.10.03.54.49 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 10 Oct 2022 03:54:49 -0700 (PDT) From: softworkz X-Google-Original-From: softworkz Message-Id: <3618b3e9414bc646f2bcfffde9a20e5d9dc0df1f.1665399281.git.ffmpegagent@gmail.com> In-Reply-To: References: Date: Mon, 10 Oct 2022 10:54:40 +0000 Fcc: Sent MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: mGHaUgoGdHpD 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 10 10:54:41 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 38664 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4a86:b0:9d:28a3:170e with SMTP id fn6csp299933pzb; Mon, 10 Oct 2022 03:56:30 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7Sa/LPOkZJ06h2HwY4etAQYUcctIWMsiPiPSoSn8KGP+fQ0me8rI1G/y4Q38lmPKJaANY+ X-Received: by 2002:aa7:c60a:0:b0:458:d707:117 with SMTP id h10-20020aa7c60a000000b00458d7070117mr17641673edq.258.1665399390318; Mon, 10 Oct 2022 03:56:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665399390; cv=none; d=google.com; s=arc-20160816; b=YsL9d+kI+PhC/SLMCN+RLDZBqy6qwzMSpWW1Cb/NXd1MWnN9/9tOWPtJTNERB0go7L TAtXmiAXGdje/yxzJs+GrYCMxsMc+SxRpw+qMJUIGIiqaMkHLQ5tSH0zxAX+wB2912ZL JPPOvqROSUcyLa+FR34A5PjBVzVWFrZXhQqjNy+WNs5twsTMWS3ublxq11H/H772Wmsl k+LDaP+QZaSx0zWA7Cx7dFkRjn+hf1i+QsHV0wWO1IbqoaPoRNYBYfAYt9GznKmclg8P SU1m+V3htBFIj8cWVAi1wJlMnh11H/SVYCgtXgrDuNihSB3mg7mC5uzjwnqThdvsVXtr H3Qw== 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=9a/t7Ud5ifr0KVc4+6VHci+vC51veRy7nEYophw/WTQ=; b=BdmBQJKLdY4RqMwsAs5ewhLm520hF/SUDJN7Pg+ymg3L1iEjGVDT4EcnSr9uGpUpyl 1zrwgcjYONgujtdRQR7dx/FBr+ds/Ry54LjN7nx9rovSv2QH5f/YvtQEPANNIuANAmth 5FvmVQeE+0GYOd2XjkERE1szx5pxuvaQ1Wy9gvuBpLXRnLyc25lIw2hg8j8+HSf2gYj1 DaubErFaHIPpxno0YSUduAQZTZG2bS3gKd24yBxW5QneXWmN2L/3KQMfubw9dodS837f X5pLyfZpWdzF2fSAYeuxmr3QrO/Th+G3Fe6Tc0q2TWqDruXss+9+ku6FtTBuIrfc3/ne SATg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=GBfSzOKz; 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 jg13-20020a170907970d00b0073d61f9a7b6si4089068ejc.263.2022.10.10.03.56.30; Mon, 10 Oct 2022 03:56: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=GBfSzOKz; 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 B67D368BD25; Mon, 10 Oct 2022 13:55:02 +0300 (EEST) 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 B46E268BCF6 for ; Mon, 10 Oct 2022 13:54:51 +0300 (EEST) Received: by mail-pj1-f52.google.com with SMTP id q10-20020a17090a304a00b0020b1d5f6975so8946139pjl.0 for ; Mon, 10 Oct 2022 03:54:51 -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=DitkY4HZo+Nbm+u8b4eHtOylA/wQs5IevFL6Z+MoTPY=; b=GBfSzOKzHO1KfnfAc/cCak0yM6dcEXe8P5xcJEOnoRltNs9NpOm6yrEmb2MIaVpjru rJ4YVE/Ia15WEUP2aEbv2xRWsGU2MIPI8RNhpo+T9SxuaLZdwp0YV8pzJcS1DTZYjHdl P8AGSZoC0x7xWeRdWBj5gEm/LsL+mftXF0eU4nM0lw47n4NmqNgEU1PR1dhIoRvlY/Jz 0qTiQIkUf1M6Wy/Zv6nDkZhPeKsxmtdMmGVgS5RApfnMIwhdn9Hii2Sw81DjMeRi8MuX pJ+hZ/H884UESphtL4YoreKjjytLpqbE6xQgaAMC4VG4PVU0DtMkB0+VjMgLhGz04hGg u17w== 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=DitkY4HZo+Nbm+u8b4eHtOylA/wQs5IevFL6Z+MoTPY=; b=WNl53fH78favTsFIJ7qRA7MSGl+BITvwJ+22yoslUKqgH36FxTHTWZVOSAxk5wM6q7 c+PW4FAVq8JoCs87vtjY3kNZBQirQwWr8I8fWJuscIHyK3VI5Tj+gctoIwApiWCONfG1 OSKmEEELsUc/niIOGy87v1/jZm/LuF2l9FKD/La4kdJY7Ep/U/TH3UjS9QiFHwfCTB/1 7zPaRZ3rGikabj9qiRL8AXr20p/OXltq7w4v5v6CoZr8scIWfwDg1e7toRNdGGpu0JxI JAPCDVWVGxS0dU+9pX7C9f/anz/DFd/wZzcUKl3noUVPAkCf1x2xr/yfPml/qjm2JnP1 cy4g== X-Gm-Message-State: ACrzQf0N5O0MrQLij8Q5f1rLFz8VL+VY0AqJIhu30S3AttQkeQRJE9Kh W7L54/aE92hTFreGh9/+yaNQsuDEnoo= X-Received: by 2002:a17:902:f644:b0:17f:7f88:5f47 with SMTP id m4-20020a170902f64400b0017f7f885f47mr18129545plg.123.1665399290160; Mon, 10 Oct 2022 03:54:50 -0700 (PDT) Received: from [127.0.0.1] (master.gitmailbox.com. [34.83.118.50]) by smtp.gmail.com with ESMTPSA id u64-20020a17090a51c600b00200a85fa777sm8996250pjh.1.2022.10.10.03.54.49 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 10 Oct 2022 03:54:49 -0700 (PDT) From: softworkz X-Google-Original-From: softworkz Message-Id: <675b5279c3fe4828a9e1abde80d22a4847a0af3a.1665399281.git.ffmpegagent@gmail.com> In-Reply-To: References: Date: Mon, 10 Oct 2022 10:54:41 +0000 Fcc: Sent MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: sMmvCjZB5anh From: softworkz Signed-off-by: softworkz --- doc/filters.texi | 49 +++++++++++++++++++++++++++++++++++++----------- 1 file changed, 38 insertions(+), 11 deletions(-) diff --git a/doc/filters.texi b/doc/filters.texi index 2d0b5db909..5f4604a834 100644 --- a/doc/filters.texi +++ b/doc/filters.texi @@ -26271,30 +26271,57 @@ 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. + +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