From patchwork Mon Mar 11 20:58:26 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Jan_Ekstr=C3=B6m?= X-Patchwork-Id: 46967 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:dc95:b0:1a1:738b:6bc0 with SMTP id ky21csp1469405pzb; Mon, 11 Mar 2024 13:59:23 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCV9c2sUPSFqXAohL5oD+ELPkJww69bdsKLiJ5orO0PLBOZcxisv26uXzkx3V++MKohOY2DOfP9sONlOkWO07ZGTPJWs75L6ytah+g== X-Google-Smtp-Source: AGHT+IFMaFuj/civw3IMJ3UyDHqEFLRZRrp3nDeEBDGdH2wXPq+zPAr6T+DKSkbciZ3X7IJCJVE2 X-Received: by 2002:a17:907:72c5:b0:a46:220b:25b4 with SMTP id du5-20020a17090772c500b00a46220b25b4mr3743417ejc.11.1710190763629; Mon, 11 Mar 2024 13:59:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1710190763; cv=none; d=google.com; s=arc-20160816; b=bBuhnZy0zFLHDNEbf8e66A+iAiCzJKXzJJKUz9E02w9x4oPqwxBHCd4CwCLSFCSboM jZllR4rrqHIoz/IsjVl8hx7gFTaG+m+zPVF868cNlwzxP7YqSW3g9yt0Od0pRS7/jpcT 6BkF8lDJW0vBm76XAxbH2eoxo8v1FpFy1/JsGIqAHK05ycPWKDumRGFdq3BusP47dpmo An003kKNFX/sh767/Iql+s6KlwvldeBmvkv6bFBytF4QFpreSccQ1dFt4dpV+oiDvXbs dVa9c08N2vr8t3zB7zsyFvvcqQOTYBFtSuZf/pqcP/EMBiI0IFEDbddWeASCuT1d6OqX w9rA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding: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=PHjp+elTY++XM58NemnkW5o/nFmtfgvgs9zOhfQWXFE=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=tcDHXiV388kVyBdWoHM2TjHKx3cqI/BzLESiEpf0MC2F2+uWfvV+2vSrQ62jt70GAP U8K/KUn44bFq/sf27SFHLylq2t/n5oOJCpI1cONmQzcNu0k1f3mb9Lxta29BZfsFZ7iZ OI9QMvs6Mn/+PuHLIFb18OxFLS5ep6Wq5GCGVy0mrJOZjIFBdpnfys5SvYxPxJsk0mcQ o5oD6Tn2iz8x8LakbDr+iDj7EWqjrGoED15FFSF9iF6n9ycbV7SDgebeV1G309HWP0ir tL0nnMaKNL7KtUZmfTz+m2ZmUvV/V4bKpC514EL0B+c7mqymOOBlQLVLAiAw0hdsxCW/ mRpw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20230601 header.b=IPDcgdF6; 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 h24-20020a1709063b5800b00a3e9ea33373si2831917ejf.532.2024.03.11.13.59.23; Mon, 11 Mar 2024 13:59:23 -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=20230601 header.b=IPDcgdF6; 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 19DB668D120; Mon, 11 Mar 2024 22:58:56 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lf1-f54.google.com (mail-lf1-f54.google.com [209.85.167.54]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 49AF268C27A for ; Mon, 11 Mar 2024 22:58:47 +0200 (EET) Received: by mail-lf1-f54.google.com with SMTP id 2adb3069b0e04-5135486cfccso4375431e87.0 for ; Mon, 11 Mar 2024 13:58:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1710190726; x=1710795526; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=AotvT5w3UgblKqo5Lgu2NSe5ikU6BGlHNWc1J4yWfrU=; b=IPDcgdF6kV46THmHQ/n/SA7wIQyfCO/zazupVpv+lH4lE+VbvdYHymbpwPViE7aiAS AW7o2C8gd7jkOeIZaDl4Y6V8o5pvDhGmEACSNp0Mkp+ZgBI33vwUS4sOeMA1WcPxEVuL a+aKfQt/PAmV9m9LS3bVtVH8WoeO3YHnngoWQ3F+j0yUI/tDy9EXe0rBVq4VRwkRIS90 i6za07fleOvd2TSvDv24tD1ZMPXF86gmWKHZmKprUqGLdASN4TER/sZJmxDiuJ/bwpqD 4CAmZD2GceH/i5EJaGCmTx4OY+BYML6PYlq63m/i0kEGPTEpkdEkImTffQJK3ja9A3zy 5vuQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710190726; x=1710795526; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=AotvT5w3UgblKqo5Lgu2NSe5ikU6BGlHNWc1J4yWfrU=; b=R+dDI8VjfGQNMT6SLFaRMAiQymmFLCPaGNe1+BEJEkGjq+AVO51XIisQ92tplzeYm/ MwIWUSYk8uvyKbO8AkohWRLqoeGMh7vRQWFiHJj74jAcPBqJo3Kk9mOp0QriVxrEsjWd yvs6tqEudtveLUpiNo9BBKLEwpp3OXH1C2hkvPcqhUIvIopt7JG7Hhl+6vAHqazYTvwK d6BuKZ6hhLPFU6KV8Az9QkZ35ut2USyeUOMgI+auwcSXrnOzdzpELc/TqyZ2vG19k3XJ asgWN3Ju5ugOmg8I3+m/1Rwuwkdq3IOj+HArGzHus0g7sA1yMPQyrNBK0dteY253ZwwL G0HA== X-Gm-Message-State: AOJu0YxIBXmgPHR027ElgDZSUVRyfK/ND+Qp0iFI0GD05TJdM9Yx5PhY liN8xOx8wWNIsKgRY2PItHlfOBUVu3mjfpU3ctYtmDsAKR4t5VcLYFTeCfEz X-Received: by 2002:ac2:57c2:0:b0:513:54df:9573 with SMTP id k2-20020ac257c2000000b0051354df9573mr5171152lfo.26.1710190726330; Mon, 11 Mar 2024 13:58:46 -0700 (PDT) Received: from maomao.mshome.net (91-153-198-187.elisa-laajakaista.fi. [91.153.198.187]) by smtp.gmail.com with ESMTPSA id c17-20020ac25f71000000b0051333104075sm1249247lfc.259.2024.03.11.13.58.46 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 Mar 2024 13:58:46 -0700 (PDT) From: =?utf-8?q?Jan_Ekstr=C3=B6m?= To: ffmpeg-devel@ffmpeg.org Date: Mon, 11 Mar 2024 22:58:26 +0200 Message-ID: <20240311205844.3569895-4-jeebjp@gmail.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240311205844.3569895-1-jeebjp@gmail.com> References: <20240311205844.3569895-1-jeebjp@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v8 03/14] avutil/frame: split side_data_from_buf to base and AVFrame func 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: oA7djMSvBACz --- libavutil/frame.c | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/libavutil/frame.c b/libavutil/frame.c index baac0706db..9ebe830c5c 100644 --- a/libavutil/frame.c +++ b/libavutil/frame.c @@ -679,23 +679,23 @@ AVBufferRef *av_frame_get_plane_buffer(const AVFrame *frame, int plane) return NULL; } -AVFrameSideData *av_frame_new_side_data_from_buf(AVFrame *frame, - enum AVFrameSideDataType type, - AVBufferRef *buf) +static AVFrameSideData *add_side_data_to_set_from_buf(AVFrameSideData ***sd, + int *nb_sd, + enum AVFrameSideDataType type, + AVBufferRef *buf) { AVFrameSideData *ret, **tmp; if (!buf) return NULL; - if (frame->nb_side_data > INT_MAX / sizeof(*frame->side_data) - 1) + if (*nb_sd > INT_MAX / sizeof(*sd) - 1) return NULL; - tmp = av_realloc(frame->side_data, - (frame->nb_side_data + 1) * sizeof(*frame->side_data)); + tmp = av_realloc(*sd, (*nb_sd + 1) * sizeof(*sd)); if (!tmp) return NULL; - frame->side_data = tmp; + *sd = tmp; ret = av_mallocz(sizeof(*ret)); if (!ret) @@ -706,11 +706,20 @@ AVFrameSideData *av_frame_new_side_data_from_buf(AVFrame *frame, ret->size = buf->size; ret->type = type; - frame->side_data[frame->nb_side_data++] = ret; + (*sd)[(*nb_sd)++] = ret; return ret; } +AVFrameSideData *av_frame_new_side_data_from_buf(AVFrame *frame, + enum AVFrameSideDataType type, + AVBufferRef *buf) +{ + return + add_side_data_to_set_from_buf(&frame->side_data, &frame->nb_side_data, + type, buf); +} + AVFrameSideData *av_frame_new_side_data(AVFrame *frame, enum AVFrameSideDataType type, size_t size)