From patchwork Fri Sep 1 20:38:14 2023 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: 43439 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:1a81:b0:149:dfde:5c0a with SMTP id ci1csp578718pzb; Fri, 1 Sep 2023 13:39:20 -0700 (PDT) X-Google-Smtp-Source: AGHT+IETQhxpM2tkhYhQaj+h3sAvYtwOnAJ+Dl/I4l4vxdEyLfe3Q+rXFBppjObnwrNXwlYinkCn X-Received: by 2002:a17:906:30d9:b0:9a1:f96c:4baf with SMTP id b25-20020a17090630d900b009a1f96c4bafmr2078858ejb.5.1693600760369; Fri, 01 Sep 2023 13:39:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1693600760; cv=none; d=google.com; s=arc-20160816; b=WZZAehaIjmy/qzAXU52WCx+Ct9bXuQUUdEn2OsgNNCBfoBGYq9hV3dik7IGy+tmGMA kDpHG/13hKiNyp7c1gbBu7oUz8CGDnHhN9Azb+7EiUYmw5o2QIYU7UAmX/LjiRKKOOWM mFHZmvC638W4jZQcVD+ktrehH2G8Agp+Rgtpe3FmPRqIGcB6C/FmPpHM62z2L/lU8vAe 01bLsfzPiazvWOYUZpm4Z8ZFtvJ6NzsLbdJMdS6ZzABZpJrMT0dJL7eM0D7IE7RwqIB5 1o2pfsW7Q8WiFjbI5n4okL9VuNkm1AMjqIzKdzXyhrigRDngwZfv9AOXJ0DevovHq3LZ PbXQ== 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=2iYrRG09PibBlbAZ9LW4HqZ4D3VvAvAss48Ugw+Smeo=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=GyaPtRCbSQUvLdYCDd4H2plHoT1ZV6/OWiEg99VTWUNtWyLc461tykmYZln09OWmn2 uW3P3Ze41e2lPhg6oA5srHUWEL4MuYzg7+TsM743LrevD+gFXMWE11S7Z9njeu+E35BM bwEIEIhhxz6HAdvtYweXq22+EzjIhic3qU88Xzq6S3AocWbjXxLBG9ZdcyxuF+UAK/d9 7wf+ShH9xR85thWgLNGgnSV7hVh81Ys4rfFBub10rFT8xe4Cr3/ydyTX/YONk2XcDh/2 wROBZcCsdkEaouUcliGFCA7j5cTHJIuvGhZ1EbCjL1M1Ig+ab14uZZ/LzoJel982MuHG T4yQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20221208 header.b=IFgsMvZ2; 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 rl25-20020a170907217900b00997c9f1bdf7si2695600ejb.407.2023.09.01.13.39.19; Fri, 01 Sep 2023 13:39:20 -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=20221208 header.b=IFgsMvZ2; 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 CADA968C76C; Fri, 1 Sep 2023 23:38:41 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lj1-f181.google.com (mail-lj1-f181.google.com [209.85.208.181]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 94A7668C731 for ; Fri, 1 Sep 2023 23:38:32 +0300 (EEST) Received: by mail-lj1-f181.google.com with SMTP id 38308e7fff4ca-2bcc14ea414so41569561fa.0 for ; Fri, 01 Sep 2023 13:38:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1693600712; x=1694205512; 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=4l+4JqINwmw0tywYDIU4NN6FFosZ9InM+XuEwt65kkM=; b=IFgsMvZ2D/OpaZibSmVsqY9eCvyBY9uPp88ltrAUkhHuX+cw0JXGK3lUlivbHWnZSD QphTBbwfQi37tKtXaiU7pajzlkwWtqWCIEyHUqlFLzSwzBfsfFKcjdUUMMQ0l7NlNjgM enGMS+kBYRdpRzBbiV5te9kwWUV8s5yJigXPNIKy5ZNVyMTf0wujccz0F2z5muLw0rtQ pjJSYCALI1/EvZrZ2BgW1h6ZsPRIrMvtDn8ohazYOdvoF6P071YCE8XsxinRHsSQcAGs MzzfPNeA7BH5QXEoqsfjy6YAvdNlD4IKw7WKFw5ae9aERU3NvlYG0/H6ie86miDb/U2i h2OQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1693600712; x=1694205512; 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=4l+4JqINwmw0tywYDIU4NN6FFosZ9InM+XuEwt65kkM=; b=bFUdZdoF97LVDTLJPWQIWQvX5KQo/MPacHjV20+skL75KmzppkgX38pbkarJdW1l6f 7jtBR6DsbDusJif/vLq2gcglvyvK/WTbdyItGyu47u94lt5I2cffU8lM3f4F19eRp45k qy0GI5Yon87dOUV69YNDpxPx8qWgALIP8StKTQ/So9j5FU1/bveCNoEtjFHpTMmowrVL osdJpqhY6dBFgJxasdT3O+0rzk/bLdxoaDh14iULmfPIBg3gKOIgUm/GwhX3uzvT2XJO 0uSfVZ30s/wdw6fhd66rPeYRnrQxF/AdTrUla7Azol4nTHgpU+hTVk6DILS8IzCCtxeq 8yOA== X-Gm-Message-State: AOJu0YwnNNjCzRZYax3PlMzD12BqcUoMvLfoPUKZVoWdQO0JeCv1npCY xCTiW5LYhg01Xl5yjgeSlkk0BZnyDBb18A== X-Received: by 2002:a2e:6e10:0:b0:2bb:b528:87b1 with SMTP id j16-20020a2e6e10000000b002bbb52887b1mr2196508ljc.50.1693600711629; Fri, 01 Sep 2023 13:38:31 -0700 (PDT) Received: from hifumi.mshome.net (91-153-198-187.elisa-laajakaista.fi. [91.153.198.187]) by smtp.gmail.com with ESMTPSA id k17-20020a2e9211000000b002b9a1e9ba68sm907954ljg.136.2023.09.01.13.38.31 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Sep 2023 13:38:31 -0700 (PDT) From: =?utf-8?q?Jan_Ekstr=C3=B6m?= To: ffmpeg-devel@ffmpeg.org Date: Fri, 1 Sep 2023 23:38:14 +0300 Message-ID: <20230901203828.275197-5-jeebjp@gmail.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230901203828.275197-1-jeebjp@gmail.com> References: <20230901203828.275197-1-jeebjp@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v4 04/13] 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: 3Fr4VTCm3zhT --- libavutil/frame.c | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/libavutil/frame.c b/libavutil/frame.c index b03f8d6c73..9eff851d64 100644 --- a/libavutil/frame.c +++ b/libavutil/frame.c @@ -787,23 +787,22 @@ FF_ENABLE_DEPRECATION_WARNINGS 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(AVFrameSideDataSet *set, + 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 (set->nb_sd > INT_MAX / sizeof(*set->sd) - 1) return NULL; - tmp = av_realloc(frame->side_data, - (frame->nb_side_data + 1) * sizeof(*frame->side_data)); + tmp = av_realloc(set->sd, (set->nb_sd + 1) * sizeof(*set->sd)); if (!tmp) return NULL; - frame->side_data = tmp; + set->sd = tmp; ret = av_mallocz(sizeof(*ret)); if (!ret) @@ -814,7 +813,23 @@ 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; + set->sd[set->nb_sd++] = ret; + + return ret; +} + +AVFrameSideData *av_frame_new_side_data_from_buf(AVFrame *frame, + enum AVFrameSideDataType type, + AVBufferRef *buf) +{ + AVFrameSideDataSet set = { + .sd = frame->side_data, + .nb_sd = frame->nb_side_data, + }; + AVFrameSideData *ret = add_side_data_to_set_from_buf(&set, type, buf); + + frame->side_data = set.sd; + frame->nb_side_data = set.nb_sd; return ret; }