From patchwork Sun Oct 20 20:05:13 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Niklas Haas X-Patchwork-Id: 52411 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:612c:143:b0:48e:c0f8:d0de with SMTP id h3csp2238865vqi; Sun, 20 Oct 2024 13:09:47 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVCYA8ux6k8R3Hlds8jufvAn8bolkN8wNkzOEJdnj/2PBy+DmX9R7dHNSdirE09akBrk6BlLYDxrHJddXBFbEZQ@gmail.com X-Google-Smtp-Source: AGHT+IFGpXwzxR6aGrYqzrINdaUaYuqd0kGcvxFoYh0SgOXWt99rUn51VGg3ErqOCyVHJjZ9wr/x X-Received: by 2002:a05:6402:35d6:b0:5c9:72c7:95a2 with SMTP id 4fb4d7f45d1cf-5ca0af9e2d7mr7613267a12.22.1729454987383; Sun, 20 Oct 2024 13:09:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1729454987; cv=none; d=google.com; s=arc-20240605; b=knGNRviLb2BHUEkmRqdNKgZvRpNmzZYjePQ4f/8UmdK2YPgnK8io/G5qzPOUtMgr6k 7GWxi7OS9dIcwUNYc+bbeawCDJNDmdKdtQrMmboXgr8DxofQ10CJn5dIBVNTvF+aR+yW husTxTNX0K0ICNtbpMWmkZxxzsgmj6/g+U24VTkiYYY8hM8Y2MZHfxrGABE80Dv7bkbv SCN4uEO6zu13kM5nnP554LIp+bSVL8qJbqWh6XfsJwUMx+5j4SoGrOB2B8NhChZxsc7C 4ZqGyX//iEUVWxcQyB9Gn/lFPdgD+zgeRfAU/TlpeWJgE4dOzUn+KjprFI3KbNtTukL0 TYIg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; 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 :message-id:date:to:from:dkim-signature:delivered-to; bh=xnh+rth6NEFM6ibyMd5i0UPXM8KGN5u8Ec+ryARv3qE=; fh=xmAeKtysnShNOmkhiJmYkS30uw4Fu2hvBJ7qlIwukxQ=; b=dYsn6fFdYPJGldlXgiILkr1umyGb1Vet7unsIvR6s6p29cmIMFg3hCEwTBfr9rJ2Cv nK7gBrfjtYRdyJrM5GhoiYaTMJLAKXIaoiRDlYcdJSiGuGy6kb9dD0eM1Aa7UVfpayYh FBvmvVBJXHtiu2XcNQDDYnPC0jHfkEDZyOOw9JpMH6OAS16DO9jQl6WRn5OeiXjKJSYW kG1emE0SMom8XGsfoURTlqG3DYrPlpKjudSODyHIYC9tdnbZthC7lrbAFWUlbAfKGpCE Hc0ouNASij2PkSSVPekdO+TDubz+TT99biZXjEvHNHmWoSRL0Ah6YQLM3eXj2cWMzmSO HEMg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@haasn.xyz header.s=mail header.b=a50klP9v; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id 4fb4d7f45d1cf-5cb66e703c6si1537525a12.534.2024.10.20.13.09.47; Sun, 20 Oct 2024 13:09: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=@haasn.xyz header.s=mail header.b=a50klP9v; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 72DEC68DC49; Sun, 20 Oct 2024 23:09:06 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from haasn.dev (haasn.dev [78.46.187.166]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6B6B168DA64 for ; Sun, 20 Oct 2024 23:08:55 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=haasn.xyz; s=mail; t=1729454935; bh=BsDX2EF6igbNN9VptF+766nb8O65vujb9ym1NIHrQrw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=a50klP9vKLIrTluO89RjkI65wh0q928aRgWpkUrHwQ5gBXQhyc5oFAicVSITLuJgU 5M1MYd6xn4erzoBuNGVkTHBK7aiKlcCtB6XTpCv4j7Evu0uwJ0VPq5HYQg/RYdUuk3 sfcdeNkxAVB4/PvaIOXgPWSi7tI2Wgff6Mr182tM= Received: from haasn.dev (unknown [10.30.0.2]) by haasn.dev (Postfix) with ESMTP id 2AF554845A; Sun, 20 Oct 2024 22:08:55 +0200 (CEST) From: Niklas Haas To: ffmpeg-devel@ffmpeg.org Date: Sun, 20 Oct 2024 22:05:13 +0200 Message-ID: <20241020200851.1414766-5-ffmpeg@haasn.xyz> X-Mailer: git-send-email 2.46.1 In-Reply-To: <20241020200851.1414766-1-ffmpeg@haasn.xyz> References: <20241020200851.1414766-1-ffmpeg@haasn.xyz> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v3 04/18] swscale: add sws_free_context() 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: Niklas Haas Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 2yLh4VS2ejwq From: Niklas Haas Merely a convenience wrapper around sws_freeContext(). The name change is for parity with the other sws_* functions. Sponsored-by: Sovereign Tech Fund Signed-off-by: Niklas Haas --- libswscale/swscale.h | 7 +++++++ libswscale/utils.c | 10 ++++++++++ 2 files changed, 17 insertions(+) diff --git a/libswscale/swscale.h b/libswscale/swscale.h index b5dea09bef..f9fd340240 100644 --- a/libswscale/swscale.h +++ b/libswscale/swscale.h @@ -1,4 +1,5 @@ /* + * Copyright (C) 2024 Niklas Haas * Copyright (C) 2001-2011 Michael Niedermayer * * This file is part of FFmpeg. @@ -78,6 +79,12 @@ const AVClass *sws_get_class(void); */ SwsContext *sws_alloc_context(void); +/** + * Free the context and everything associated with it, and write NULL + * to the provided pointer. + */ +void sws_free_context(SwsContext **ctx); + /* values for the flags, the stuff on the command line is different */ #define SWS_FAST_BILINEAR 1 #define SWS_BILINEAR 2 diff --git a/libswscale/utils.c b/libswscale/utils.c index 4b5106cb57..650785a989 100644 --- a/libswscale/utils.c +++ b/libswscale/utils.c @@ -2520,6 +2520,16 @@ void sws_freeContext(SwsContext *sws) av_free(sws); } +void sws_free_context(SwsContext **pctx) +{ + SwsContext *ctx = *pctx; + if (!ctx) + return; + + sws_freeContext(ctx); + *pctx = NULL; +} + SwsContext *sws_getCachedContext(SwsContext *sws, int srcW, int srcH, enum AVPixelFormat srcFormat, int dstW, int dstH,