From patchwork Fri Aug 18 14:24:06 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhao Zhili X-Patchwork-Id: 43258 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4c9d:b0:130:ccc6:6c4b with SMTP id fq29csp2707569pzb; Fri, 18 Aug 2023 07:26:04 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGQ94ADFPu+wgqhmFhC9aLhM5vJU4qcJQRURqbzz7z8N9Rx83FElGDmxlF0FqR5j+t9mUYP X-Received: by 2002:adf:eac3:0:b0:317:50b7:2ce3 with SMTP id o3-20020adfeac3000000b0031750b72ce3mr1940591wrn.51.1692368764021; Fri, 18 Aug 2023 07:26:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1692368764; cv=none; d=google.com; s=arc-20160816; b=HD5bOFEZ2nfrWwpptnB/5UZJZ6sXixsfCvfPD6uLoKKP16RgXqUPCFPUPUO6CD7qFW mGP8KYJfoQbsYn8N3Vw/bw0utU1TZTfxueviEPknKD+BpYAJ/zMEJE2jVI9yBH+fbdXi yem/YrO2IdRO5/Ett9Rx0GebTbksns2H4XTREJOoJHZIlrvThu+Oppzhk0g4254iM525 CbOnJDMgfYRnMWWuTZJRMuOzlBi6yX3/QOcRHUteqnXwjEaZlcu+a0NKuYriqC+S8T76 cPZvlXj5I3ACBHe4b2p6muosQtzlzuCGfaNIFCqV2YPx4E4POmPUJIgESlcLkydC6ZkK GC8w== 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:mime-version:date:to:from:message-id :dkim-signature:delivered-to; bh=W72NS6ssg4rqq3GhOA9a8WRV/zoW0ykgM8w/Qnh0pZ8=; fh=fgsEC5uuZOuzV7r9mTXgvURIGbxpRO08JRnNlycBIXw=; b=LraylNqGZoe5JdeKCHp2LQ20oSWltDp7J4tQbhaM3KxSyM7rPZSX+Tht+dSFPBxP9Z 2iyc4kKMiryQ6GlNJUhD4J1vMD1JBIesKMLtL9bu5Oalena5YWwwljpAHYHw87IjCE5S 7nLepabMF/YXOs2LoSK2YhGX9qlCwZnibJF+XBFOYsbnWLEJotCxGQOvIHq2F+OHHN7+ fLMuJ4l2LDt67LrSfh56vA7A4V2+3EzSE3x97UAUAn90hcnxdvR21j8jTEmT1fZx8aQE np0GLiUhh+rpLWaEDuqhTByxLNQY4OinmJUyvD0QF4iBBUNaYGpkdrOhk5Kzm/saStVM p1Yg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b=gJTW4Ppl; 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=NONE dis=NONE) header.from=foxmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id k24-20020aa7c398000000b0052889552052si1479144edq.270.2023.08.18.07.25.49; Fri, 18 Aug 2023 07:26: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=@foxmail.com header.s=s201512 header.b=gJTW4Ppl; 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=NONE dis=NONE) header.from=foxmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 7C68F68C65D; Fri, 18 Aug 2023 17:25:44 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from out203-205-221-190.mail.qq.com (unknown [203.205.221.190]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1DC2568C529 for ; Fri, 18 Aug 2023 17:25:36 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1692368728; bh=uYZOlgsY9wuZbqlSjq0+PsFtjO5pcg4+YifBZz5CvxU=; h=From:To:Cc:Subject:Date; b=gJTW4PplQbDsb+ExSgfQlKiaADt56nTCxZGvFVdMxg1CYTvBi15dvnos+fo3C0Gv0 /4LRi+yRnCpG7xm3dMSPUIG5dfJ4e4le9jKWYNAi730TEVDK2GpkExnwxfqeTp7qwP J8slE68V3l9lAqHZf+p3t062ScLrDruzSSNoh98A= Received: from ZHILIZHAO-MB2.tencent.com ([119.147.10.200]) by newxmesmtplogicsvrsza10-0.qq.com (NewEsmtp) with SMTP id 6099E8C6; Fri, 18 Aug 2023 22:24:09 +0800 X-QQ-mid: xmsmtpt1692368649t1euqceqp Message-ID: X-QQ-XMAILINFO: MrYPaBQR8fEOWYlwJsMBt1aQj8R0TTxuGck6vkVfHc6TqDBzESSHkIveTWcMF/ VUjhablrQ/dGyhVJfhHqtPz+pWVWFL2ZunwJXOSRhgEXARIly8k9n1uXnEctAilGPWodpuFenKB1 hCwOgkfEbrawzlJAJ9DdEMnl2FM31vw1BQInYc2cMiHVqZGgloJ03aSfuqQe3H0iO19JV/NeL4uI u19BOA0YKMBgzYuGPH1fhHAC6Vn6Jdg59I6cQeoynMjTv81M9uJW/q567Xd/6Nc+bUlaJh52ADLp d0ydJshSLE7RF9SIMvqNN/ZBIXSxH8ZU3ncZbCgCjnG1hMKauYZ7rhx0sTy4TKh89OZhbucCSfXx 0gpiU6SwnZQQPmhR7WzPa52/1/R+vWKupcxeZdefVzdAJ1UBDc2txcBORcM0r7q4eYQLKjfTeHQY sD1IZAvsGos702gRTcvdbcI7RQYsg5gRXLKArnP+SiDrMpDpXgFlnx9hNUfeaoPUdCoWO9mQAssJ FH4BicyV+IJBxGu8O7gcj7uBaOS2/s+39Eaj0BxZZ5T/pO+8Mmue0kz/Zq86SzTcAl2dcqUtUp/l SJQ2G/c0PFY8QV+JlgOD8S4uVFNzsngwGr8bh5FrzktD0rZ1xc+YQVjtQkOR5HZ32N9sxhGnvGPw yuL3zYwh9y/QxCYdVe9fpR/KwS98aXkGNfJ5xz4+ldQFKMVUPvhrASVc/YZt42u9g13A7JS7VVBF uc4tcCc/ZT2fmc+ICtg+aUZ0cQE7iXZmvhu0WM671CzO+e6+NUh+cNRIfrPZnWlfLy1fKbCbU8xP gWBbo2L+/IUTlT1KpTtF2KzrMx1O3iLNDORRjvFDWMWrrI+064/DOZn26qO0Qrj5ZNSUt03HmmsR JRm3ryWPDA7ipzXD7gqRjsVruEt8XVV9ziUrlJ3caVmQn4ba6bjXGDSga8orPCBT6EP3N9uCrsvY Hja7OcPRthspgJd7qRlnDVs0eAGwIrMBS5TmaOMNWpU0rFGTRq/g== X-QQ-XMRINFO: Nq+8W0+stu50PRdwbJxPCL0= From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Fri, 18 Aug 2023 22:24:06 +0800 X-OQ-MSGID: <20230818142408.74329-1-quinkblack@foxmail.com> X-Mailer: git-send-email 2.40.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/3] avfilter/vf_scale_vt: fix output frame dimension 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: Zhao Zhili Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: USE3EAXi4pZk From: Zhao Zhili The output frame dimension is incorrect because it shares hardware frame context with input. Signed-off-by: Zhao Zhili --- libavfilter/vf_scale_vt.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/libavfilter/vf_scale_vt.c b/libavfilter/vf_scale_vt.c index d5b4f12291..af4a8b32c6 100644 --- a/libavfilter/vf_scale_vt.c +++ b/libavfilter/vf_scale_vt.c @@ -177,6 +177,8 @@ static int scale_vt_config_output(AVFilterLink *outlink) AVFilterContext *avctx = outlink->src; ScaleVtContext *s = avctx->priv; AVFilterLink *inlink = outlink->src->inputs[0]; + AVHWFramesContext *hw_frame_ctx_in; + AVHWFramesContext *hw_frame_ctx_out; err = ff_scale_eval_dimensions(s, s->w_expr, s->h_expr, inlink, outlink, &s->output_width, @@ -194,6 +196,28 @@ static int scale_vt_config_output(AVFilterLink *outlink) outlink->sample_aspect_ratio = inlink->sample_aspect_ratio; } + hw_frame_ctx_in = (AVHWFramesContext *)inlink->hw_frames_ctx->data; + + av_buffer_unref(&outlink->hw_frames_ctx); + outlink->hw_frames_ctx = av_hwframe_ctx_alloc(hw_frame_ctx_in->device_ref); + hw_frame_ctx_out = (AVHWFramesContext *)outlink->hw_frames_ctx->data; + hw_frame_ctx_out->format = AV_PIX_FMT_VIDEOTOOLBOX; + hw_frame_ctx_out->sw_format = hw_frame_ctx_in->sw_format; + hw_frame_ctx_out->width = outlink->w; + hw_frame_ctx_out->height = outlink->h; + + err = ff_filter_init_hw_frames(avctx, outlink, 1); + if (err < 0) + return err; + + err = av_hwframe_ctx_init(outlink->hw_frames_ctx); + if (err < 0) { + av_log(avctx, AV_LOG_ERROR, + "Failed to init videotoolbox frame context, %s\n", + av_err2str(err)); + return err; + } + return 0; } @@ -242,4 +266,5 @@ const AVFilter ff_vf_scale_vt = { FILTER_SINGLE_PIXFMT(AV_PIX_FMT_VIDEOTOOLBOX), .priv_class = &scale_vt_class, .flags = AVFILTER_FLAG_HWDEVICE, + .flags_internal = FF_FILTER_FLAG_HWFRAME_AWARE, }; From patchwork Fri Aug 18 14:24:07 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhao Zhili X-Patchwork-Id: 43259 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4c9d:b0:130:ccc6:6c4b with SMTP id fq29csp2707694pzb; Fri, 18 Aug 2023 07:26:15 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGc0pOcSAPvHeCAefui0hUhG8vhGTjWH7ORho10v/wp4Ap9GyGKViBiuJsbpY61YHVNFJ49 X-Received: by 2002:a17:907:2cf8:b0:993:ec0b:1a24 with SMTP id hz24-20020a1709072cf800b00993ec0b1a24mr2161025ejc.7.1692368775040; Fri, 18 Aug 2023 07:26:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1692368775; cv=none; d=google.com; s=arc-20160816; b=MMqZ78+XwI8QTb4yJPjF2PeedvDPzOAg1E2Sqv23P4iW9qqImv4G6OO/v/RzjxvqpJ cDA6HzueeP4G/Tb3Mrz5fWq9LFZn2ehAwHc/XuMqU1GCCb01vAptaeADHbezks1qIK+C 2hxUfeo6PW9KZ1uq55LvPZS5900o534/5jJkhRV7VHS1rHqPQQjcGhtVCkbCXLlYe0o/ 6EB1rjP6jfi7Jvn0r1iom4zYJ0pczoSYRKsv41EmTOOBl+iwow7lPJY80kF+VYZ8K+GM xB+BXRXB/J9QrWOH5AEDOyfV70nd0Jh9sKXmzlOAnqDUmYA4shGjqSskVYGmhR7AqWgF 0ogQ== 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:mime-version:references:in-reply-to:date :to:from:message-id:dkim-signature:delivered-to; bh=r5UA/FR1T4+D9x6S/xr2reNTXiHxSH5acFQS2i5gcDk=; fh=fgsEC5uuZOuzV7r9mTXgvURIGbxpRO08JRnNlycBIXw=; b=QMdfMmo/8e26K1JCM7sIG8zSt7hKzCwXdzeVhFuAR6GBdXeajEfcje9+WEn8KNX5nU sqm2sye/itpgGYfut+M7OJoSeJt4lRAMYfbsTccd7zWb/RAASyA/7NX4Nntndto2RY1s HCpGvGnmbevC+/txiD2BDe0AGUmoe9WJ+FzI0uHSPJKUQbqEuEqHe2WtZ+rsdkYOIm0o bOr1Gvc2DU+lb7i4q6FDrtahnjxJaklO84Sh6bTy6JOgDIpHSGhZcdPu1jlou+ih/w5H cGjSgAdIfux2t2rhq6hujCcJgOoWmB0ZLe+WmQ1Fvg7nNG0dFp45VTYTICrq4wk9My2/ 8apw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b=GZEzQ3H5; 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=NONE dis=NONE) header.from=foxmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id gl25-20020a170906e0d900b0099bd1dc4c3fsi1342835ejb.154.2023.08.18.07.26.14; Fri, 18 Aug 2023 07:26:15 -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=@foxmail.com header.s=s201512 header.b=GZEzQ3H5; 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=NONE dis=NONE) header.from=foxmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B2A8268C69A; Fri, 18 Aug 2023 17:25:46 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from out203-205-221-235.mail.qq.com (out203-205-221-235.mail.qq.com [203.205.221.235]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id AC97F68C5DD for ; Fri, 18 Aug 2023 17:25:37 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1692368729; bh=g2VveARFVEIqh2JTuDjM6DDwS/5Micfk9XVaRZh3bLI=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=GZEzQ3H52Jw/VfelqynMzpFkLBIHqQIfctxlNlhtuvzo+xVxy6SO3GGQgU31CPPwi LFERVo+AqkjEtxtmZGnZu3/87XU7XGxN6/npFyGgVqno13GRel80gatnhygSdZNoKn 1ig8awVp397FjhZJgV5UD0Ehp0rMhD4igl2bHirs= Received: from ZHILIZHAO-MB2.tencent.com ([119.147.10.200]) by newxmesmtplogicsvrsza10-0.qq.com (NewEsmtp) with SMTP id 6099E8C6; Fri, 18 Aug 2023 22:24:09 +0800 X-QQ-mid: xmsmtpt1692368728tx6ajs5rv Message-ID: X-QQ-XMAILINFO: NvH2zBBgt3uTwffz0RAPyBDHOCz2E4CP7NgSjVXiISsjFu08m+t4Gal+09jNwD YNFKvoABG+6jDUfPb6Sr3SzWP6FfVSb6wQQOPB2KFHLRLEib3wrQcRcUf5YXMIk6yTD3ptcZSYsw b4rAIUlp158ujRTQ5Q/p+vsc3J1UlCCs6AuDvkOXtgIBhrbK267VNVwwJkLem3kuMXzQl0kos/Fd /8j9P3sNxgrSeH53NlZnL/KCRnEZ4u/uZvPVjnDFzXBD1n6KP/oF2EOOkapAMzVHOuLeUaS+AurO p/0yAmQQGcEx0oVFyInVUyEfvDFCwCLOi3+NtJI3RxnQkbd2E4kNWaWoHNc4lFbFBKkxqfnbduyv QkunO5WlvDV/spoKOcRz6Os4bVB8A1NzqaO5Dwh4Fy/oMS3YcvKXv8nvFEkP0hzL6DovGfryhVJg 33QfpYx2kMgvghXteZvIHwODyTnc1yQ9cvVBjZEXVANLMRUQtGq2bGrSvl3ncysemJl4VZ5I2kjL MFgXhc80e4mj4wHt+9O+/ECJ5+KMB/BwKUXJZ1X1hxVkSTei44c7GLfEQ2hlBVyFxC4wS5y53Koi UViaUesPxr+pmCqNkTdHNiOIGzA1pKTW3sLz+QTVtedJw0WOCbHs9S2rdDGiRzPMV/LkZXLWR+NB 39zOyq92fd52569m1IIkNoxVWGRD2PuMPJVJ/HwpqYDftdyBT77PvJ3BwBoLDGVwn1/yXweTvgky om9olsmWB0BNjOkBQETeVci4+C2yWLXkL60rdOXYx2pu7WAqDsBIkhprIDq6rae6Zh8bGZAtIkfA sIGBYRGeEBj3WhcCI4w8c1RDK06xxARmernobpzkF00lml0oWKimH4Dya3gRQkDfAue4sFBeVWWF 3KMnl0Q1IJZPQFT/1jB/RLB7Cs9m+wPWy+BJ9NgTXEHfTnTacPdcYTA6LYlHib/QKizlxVRIJ6oW uugsocJUIO8SJrI1seFn17bEZUJrNJTXNm7JhntVaZbF0wOcDkeg== X-QQ-XMRINFO: Nq+8W0+stu50PRdwbJxPCL0= From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Fri, 18 Aug 2023 22:24:07 +0800 X-OQ-MSGID: <20230818142408.74329-2-quinkblack@foxmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230818142408.74329-1-quinkblack@foxmail.com> References: <20230818142408.74329-1-quinkblack@foxmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/3] avfilter/vf_transpose_vt: fix output frame dimension 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: Zhao Zhili Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: Nief7rGX1Gr1 From: Zhao Zhili Create a new hardware frame context when necessary. Signed-off-by: Zhao Zhili --- libavfilter/vf_transpose_vt.c | 47 +++++++++++++++++++++++++++++++---- 1 file changed, 42 insertions(+), 5 deletions(-) diff --git a/libavfilter/vf_transpose_vt.c b/libavfilter/vf_transpose_vt.c index b5b07e9ef1..da59479a4b 100644 --- a/libavfilter/vf_transpose_vt.c +++ b/libavfilter/vf_transpose_vt.c @@ -102,6 +102,39 @@ fail: return ret; } +static int transpose_vt_recreate_hw_ctx(AVFilterLink *outlink) +{ + AVFilterContext *avctx = outlink->src; + AVFilterLink *inlink = outlink->src->inputs[0]; + AVHWFramesContext *hw_frame_ctx_in; + AVHWFramesContext *hw_frame_ctx_out; + int err; + + av_buffer_unref(&outlink->hw_frames_ctx); + + hw_frame_ctx_in = (AVHWFramesContext *)inlink->hw_frames_ctx->data; + outlink->hw_frames_ctx = av_hwframe_ctx_alloc(hw_frame_ctx_in->device_ref); + hw_frame_ctx_out = (AVHWFramesContext *)outlink->hw_frames_ctx->data; + hw_frame_ctx_out->format = AV_PIX_FMT_VIDEOTOOLBOX; + hw_frame_ctx_out->sw_format = hw_frame_ctx_in->sw_format; + hw_frame_ctx_out->width = outlink->w; + hw_frame_ctx_out->height = outlink->h; + + err = ff_filter_init_hw_frames(avctx, outlink, 1); + if (err < 0) + return err; + + err = av_hwframe_ctx_init(outlink->hw_frames_ctx); + if (err < 0) { + av_log(avctx, AV_LOG_ERROR, + "Failed to init videotoolbox frame context, %s\n", + av_err2str(err)); + return err; + } + + return 0; +} + static int transpose_vt_config_output(AVFilterLink *outlink) { int err; @@ -113,6 +146,9 @@ static int transpose_vt_config_output(AVFilterLink *outlink) CFBooleanRef hflip = kCFBooleanFalse; int swap_w_h = 0; + av_buffer_unref(&outlink->hw_frames_ctx); + outlink->hw_frames_ctx = av_buffer_ref(inlink->hw_frames_ctx); + if ((inlink->w >= inlink->h && s->passthrough == TRANSPOSE_PT_TYPE_LANDSCAPE) || (inlink->w <= inlink->h && s->passthrough == TRANSPOSE_PT_TYPE_PORTRAIT)) { av_log(avctx, AV_LOG_VERBOSE, @@ -175,12 +211,12 @@ static int transpose_vt_config_output(AVFilterLink *outlink) return AVERROR_EXTERNAL; } - if (swap_w_h) { - outlink->w = inlink->h; - outlink->h = inlink->w; - } + if (!swap_w_h) + return 0; - return 0; + outlink->w = inlink->h; + outlink->h = inlink->w; + return transpose_vt_recreate_hw_ctx(outlink); } #define OFFSET(x) offsetof(TransposeVtContext, x) @@ -244,4 +280,5 @@ const AVFilter ff_vf_transpose_vt = { FILTER_SINGLE_PIXFMT(AV_PIX_FMT_VIDEOTOOLBOX), .priv_class = &transpose_vt_class, .flags = AVFILTER_FLAG_HWDEVICE, + .flags_internal = FF_FILTER_FLAG_HWFRAME_AWARE, }; From patchwork Fri Aug 18 14:24:08 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhao Zhili X-Patchwork-Id: 43260 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4c9d:b0:130:ccc6:6c4b with SMTP id fq29csp2707706pzb; Fri, 18 Aug 2023 07:26:16 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFHdqDgDE9IP7vaRyzS7j2y16RMpIV1Vr6CrEjALaMYaYhCPVIbgFTpLgp0M0gy7HCUPj/D X-Received: by 2002:a2e:9b8d:0:b0:2bb:9710:9d99 with SMTP id z13-20020a2e9b8d000000b002bb97109d99mr1898091lji.44.1692368776613; Fri, 18 Aug 2023 07:26:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1692368776; cv=none; d=google.com; s=arc-20160816; b=eSwqXQSwzD0k+kJCm4xnFo4AZ8vVtO8JhZ65r3A9g6NksmTVx+rgC35NaAur8Mcrvr dXwuU9t0Kny6NUWfXHjq/G5gj0VJ2jBSxOn1VTqwISTFiB8AYVwzfoqvPVeX2681C7Zg eLrnLwSLx8rsEciuSKvTc9Tng9LXU80jkcoFPTKAQeYg1qNAP4frrs2gJSgSXA6YNiQe ohJgH6BuKPd4KBr5fckbG3BIDFXjod7cVV5CGzm+D61+6Wx35m6D7y5mbl9X5p+qhMxu kvaOI3HOwKZee+49hZtDqoYlwWM3bGMHnaP4UE5zgs1YoUyERVVSrluKps+u83twb7E7 oeTw== 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:mime-version:references:in-reply-to:date :to:from:message-id:dkim-signature:delivered-to; bh=Goq1dmxR+248KrFZIWRAniAwqJAiF3Zbmn7FtkcBdy8=; fh=fgsEC5uuZOuzV7r9mTXgvURIGbxpRO08JRnNlycBIXw=; b=RNztxaLy1gEIwMXqEzDrA78/UijuIruuLM7yz4bSaWz4GH39enQjUunZbCpZz4Q8D4 n/7ndXD6UUHSSYvkeecNeJBsPKWZuQ/00GBUKEvNYDj28ByMPwIzREG2atFswXIIN5K+ r5fSk5PvImE+i+fqNTDvrHJBUdD0FcxqAFHFHQK9S4zQ2JUhOVTqRGWfzWg3LAOXaRgJ TNXsEUa8a/VF+FKKQ+wh5P/Bif+7+L8yIPQHXQ2STvu/5igz3V93ZFcRnlOc5pOfygbr Ms9VCYxuVbn4XCGPFy6G09NPJJcGEJtmtWYifkLk9gZszwEAwRX5GjG6tDxFJpD9dV7g e1ig== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b=C5IAlvwd; 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=NONE dis=NONE) header.from=foxmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id i10-20020a170906264a00b0099d969e2d30si1465190ejc.192.2023.08.18.07.26.03; Fri, 18 Aug 2023 07:26:16 -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=@foxmail.com header.s=s201512 header.b=C5IAlvwd; 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=NONE dis=NONE) header.from=foxmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id AB5BA68C529; Fri, 18 Aug 2023 17:25:45 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from out203-205-221-190.mail.qq.com (unknown [203.205.221.190]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2054D68C56A for ; Fri, 18 Aug 2023 17:25:36 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1692368729; bh=TADFf3eU4XGQgsT2f3G9NGYSewVxLApHwMjdpjRMUj8=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=C5IAlvwdDAtknD877rmoOlBEkaDwtCCeE8xqho74971VlyD7iuxED/mVPBx5hG+1V LEPDlKVV3S6ZuY9OOPkddZ/KKt3YU9R0c93q9wYMQ7wxG9Q8K8yjQO9n9W5vRDQ6/X Ka1OKXPqlkTeWX2okZJ8pjPn4zhsgq+7XsHJpoZ8= Received: from ZHILIZHAO-MB2.tencent.com ([119.147.10.200]) by newxmesmtplogicsvrsza10-0.qq.com (NewEsmtp) with SMTP id 6099E8C6; Fri, 18 Aug 2023 22:24:09 +0800 X-QQ-mid: xmsmtpt1692368728tmdc4vc6e Message-ID: X-QQ-XMAILINFO: NvH2zBBgt3uTwffz0RAPyBDHOCz2E4CP7CPsPxNd/IAuJxQGUGSrhGy+/+UIqb MbRgFlViFPJ86BjoFLYHW0azTLbZsa7nPceapwJpze4Nu8QE9bHN2k82C4jAmN4DjmNckki5bDCV 81ctd2wjL8ZLciammAQ1/SsJLUn6dEgtZmFI6/kQ+DBizG5xZ8iLBTKAOCY2MDj3xrnNhCHe8cC4 EEKhdTvxJ1l9jmjD3AC7uZgw0I+4oZWrybEJ58pWqp3GwOGDteKdADWK05O/jW8wEnrbdffuK++l 6PmomD5Q4FaaPmaDvnV9Din9RwxwTM1qSOJ4roNc1rD8jnZg/6fvGfXCQWGyDWfm+1uqQ1Q8A9WJ SN9JNPViHiRzpInqiRBupfEkIGjzudh/Ar9252vkB6cv1VA0VDLptc1bZewN6axg4aSJZzwyKd08 px5bCnpeUHCUPJMnUoBqBUerF6taNuJScPqCF7bePjS5vlhHx7XD3Y03aHIIY5Q4EZ3Rw6yWT72i yT+IqX9j90HSN2iJ8rFdkd11N9lc5wbn3CDDh13/4LYIelybGEuebylwey3PMUvZB5lNd5vJ8VYd 4EkNBred7z/tWGcUggqjq9VdifkYbdlB6OlKD85gAeu5j8ueXDC7j3d0G+aTrEuR0tJVZ7wrHX9o JkcezOL+wDFtjXqeNnIRMHrG2TIrdUkIH8wEbx3RFxadOSZrY1PSLaf4qFnLAT9RlL/eP/b+kJ6X EIazMrH5WR65EFreuIoP7yyn2yCDSSbH12jGCAq4L4eX86iG7oUsk34NBbr1LFERttPKZdYjfZ98 pDF7mFbDJwhnjKr00S6/nNh2eMVZOw3MIqIyAfRF6Nc0jzRpvPkqWoENaNKyrhevW+mF66QKTEFl 9MALXwNyNtglo30JDeUoZcXENYFbZ86rxpIgZFwBhTgSOHArxZ8tNT2cNCCM+0igKqqIsHmeYHhb HpKTf9YtvyU0qoRptJ9ZD94f2DpOHICgxQw3yRsYztztwDk8dVK8cbX/RTP1mV X-QQ-XMRINFO: OD9hHCdaPRBwq3WW+NvGbIU= From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Fri, 18 Aug 2023 22:24:08 +0800 X-OQ-MSGID: <20230818142408.74329-3-quinkblack@foxmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230818142408.74329-1-quinkblack@foxmail.com> References: <20230818142408.74329-1-quinkblack@foxmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 3/3] avfilter/vf_transpose_vt: fix declaration-after-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: Zhao Zhili Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: glRgjiCfR2tK From: Zhao Zhili Signed-off-by: Zhao Zhili --- libavfilter/vf_transpose_vt.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavfilter/vf_transpose_vt.c b/libavfilter/vf_transpose_vt.c index da59479a4b..a3b2b9be79 100644 --- a/libavfilter/vf_transpose_vt.c +++ b/libavfilter/vf_transpose_vt.c @@ -69,11 +69,12 @@ static int transpose_vt_filter_frame(AVFilterLink *link, AVFrame *in) AVFilterLink *outlink = ctx->outputs[0]; CVPixelBufferRef src; CVPixelBufferRef dst; + AVFrame *out; if (s->passthrough) return ff_filter_frame(outlink, in); - AVFrame *out = ff_get_video_buffer(outlink, outlink->w, outlink->h); + out = ff_get_video_buffer(outlink, outlink->w, outlink->h); if (!out) { ret = AVERROR(ENOMEM); goto fail;