From patchwork Mon Jul 27 16:32:28 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Thompson X-Patchwork-Id: 21324 Delivered-To: andriy.gelman@gmail.com Received: by 2002:a25:80ca:0:0:0:0:0 with SMTP id c10csp4278539ybm; Mon, 27 Jul 2020 09:35:11 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw2nDRD1IOwker5ptMh+UWliLBLDzrtrHido3nKUYHwz0bDfOIvyB5V6qLcCoT35o4xj5zs X-Received: by 2002:a7b:c05a:: with SMTP id u26mr131582wmc.134.1595867711482; Mon, 27 Jul 2020 09:35:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595867711; cv=none; d=google.com; s=arc-20160816; b=LYl/ASzP7cA0hbj0qcdMG3WV4nVBwaNlI/7wONZIla/i9H5HB/qatjkCqKxFVzmqPr qTs5epVCUZYXbQTQwRFWOcBpCaUM9xv1sLpOGtGxale5kladgG65BYBXOTrlmW6WCawS Fk3+QBT245T6gBmWrOvJmaVpoNfpwagpZHBN4pdojGcG9INK+x8EDq+4Pg96vzJb/bkK sYktrYwGuERiVCNCsEJKOy4YBWXCU2Vmh6wdHNNzqpryulq2UhszasKlk/e44aeA3sPo W8r3eau4avQbO3yCsZr2BQ0HLyQh6dMMGHJVZDfsgkw7e9s0vCJwM7c6gLgLTcoBMAHn 5EGg== 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=gKWuUx6WYnNKpYlnXs/uhsU/keOOOLh9f7q115qBk4I=; b=Ho2k5/rONHE/5oB8N2SiZHO+8Z8KJ0EG0t0DMAo1dEMVXViBHJR/WEeGhJe2ZfXMCW MsrBkKjIye19GlpFU4wOkSUPvYoccDTQY+YF9owYHjIsTmvySto6lve7DT7Gsg+Z6T52 S8oqSFk97x1ecHqQl2mrkALtvsZhZ9WMX7xlu4Z+SH+6sF65se2urdmVLXbO1hoUE4IV LkcKcy9yvIzZnQm9lTcd88ssvB+e+Dp0D8d2rSdnmb3iQMobPKCHHJlLH0qxLHkbmWus Jdk8eUOrFbSo7KtIye9E99n4s3WGmnSbhnXDoQxqg08pHLwUJxUW3S5exXCgv+G7HA45 Y1Mg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@jkqxz-net.20150623.gappssmtp.com header.s=20150623 header.b=DXHQUkLY; 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 o7si8229088wru.551.2020.07.27.09.35.11; Mon, 27 Jul 2020 09:35:11 -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=@jkqxz-net.20150623.gappssmtp.com header.s=20150623 header.b=DXHQUkLY; 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 D3FD368B94E; Mon, 27 Jul 2020 19:33:05 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm1-f65.google.com (mail-wm1-f65.google.com [209.85.128.65]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1AE7E68B8F9 for ; Mon, 27 Jul 2020 19:32:57 +0300 (EEST) Received: by mail-wm1-f65.google.com with SMTP id c80so14724105wme.0 for ; Mon, 27 Jul 2020 09:32:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jkqxz-net.20150623.gappssmtp.com; s=20150623; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=630TkcTWsrQBMFnt5DDOEo041VWfCAXqSpFq4KeJUDo=; b=DXHQUkLY0S0lchRTv6cMZhIzHDpD0F9/zh0y45HyYRGeEqGVPugHIe8XXKV2dHAYoz dGDFGgSps25+mMY2whiGRekZzeUP1AJBZ7OnQbVGqjUNSOogl1IIRyuWvYQ7gVuajMe7 0MHDyPWXTKCBLGwfAqABFTEiWhUtE5vwHu+ej5hYBGKftuvO1+xQ6yfdbZx3bIh6oO2g TnU4V+AdfxdgCfZWE8/pRNQ8CX5ZbCfL/3kdZJmp6CkZJ0OG/lmie/T1gttQkg5dqtez /KiMCsO1hgSmOnbMpcs0Hbg8kVCXbOUyXjuzqVpq4KO7EJH+bfAzS6l7LGcwADbAUkOh FMdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=630TkcTWsrQBMFnt5DDOEo041VWfCAXqSpFq4KeJUDo=; b=OiWhSx4tEJ538r77hVjN3AWdkjlRLoSQNKoKDVaeGrRQm60NMoSjUncbMN3y4NOy73 BJtSxN0fjDsXnzBrc9/g4b47sf1bPDw6wytBP2s+Dtd8GH/Ab31D7TyJZFUOrtYvf85K pF7B/o/wikWclhRTq25JcaMRWm/7nzrPQn+23qG931wBgHEAQqw9KW7QgXT4NEQQI3Vn 8w59SUP0T9dyU99dQ1NbKARFkiz/PHcgY5dNQO7VPrLJKeLUlO3xMTYRFNoT4Piejsmf HdBj5a4jyD+OM8XzltOzSGhOs9IdLlr+wWGB457quUAwU6IG9C6S0dTfhsIzsvuMYdqW /71w== X-Gm-Message-State: AOAM5309prWKzqh2zE+X+TYtJShtsfo80m6wVfMTX2BrJ5ii+ZexhSPV pAiD7Y5ORXW/4nTpe+c51y18aey74n8= X-Received: by 2002:a1c:dc02:: with SMTP id t2mr104811wmg.55.1595867576282; Mon, 27 Jul 2020 09:32:56 -0700 (PDT) Received: from rywe.jkqxz.net (cpc91242-cmbg18-2-0-cust650.5-4.cable.virginm.net. [82.8.130.139]) by smtp.gmail.com with ESMTPSA id w16sm14706791wrg.95.2020.07.27.09.32.55 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Jul 2020 09:32:55 -0700 (PDT) From: Mark Thompson To: ffmpeg-devel@ffmpeg.org Date: Mon, 27 Jul 2020 17:32:28 +0100 Message-Id: <20200727163237.23371-14-sw@jkqxz.net> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200727163237.23371-1-sw@jkqxz.net> References: <20200727163237.23371-1-sw@jkqxz.net> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v6 13/22] cbs: Expose the function to insert a new empty unit into a fragment X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 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: BAOL+fyxMjvr Content-Length: 2716 This will be helpful when adding new SEI to an existing access unit. --- libavcodec/cbs.c | 8 ++++---- libavcodec/cbs.h | 6 ++++++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/libavcodec/cbs.c b/libavcodec/cbs.c index 7c1aa005c2..6677442d10 100644 --- a/libavcodec/cbs.c +++ b/libavcodec/cbs.c @@ -674,8 +674,8 @@ int ff_cbs_alloc_unit_data(CodedBitstreamUnit *unit, return 0; } -static int cbs_insert_unit(CodedBitstreamFragment *frag, - int position) +int ff_cbs_insert_unit(CodedBitstreamFragment *frag, + int position) { CodedBitstreamUnit *units; @@ -734,7 +734,7 @@ int ff_cbs_insert_unit_content(CodedBitstreamFragment *frag, content_ref = NULL; } - err = cbs_insert_unit(frag, position); + err = ff_cbs_insert_unit(frag, position); if (err < 0) { av_buffer_unref(&content_ref); return err; @@ -772,7 +772,7 @@ int ff_cbs_insert_unit_data(CodedBitstreamFragment *frag, return AVERROR(ENOMEM); } - err = cbs_insert_unit(frag, position); + err = ff_cbs_insert_unit(frag, position); if (err < 0) { av_buffer_unref(&data_ref); return err; diff --git a/libavcodec/cbs.h b/libavcodec/cbs.h index 3a054aa8f3..9152d655d2 100644 --- a/libavcodec/cbs.h +++ b/libavcodec/cbs.h @@ -366,6 +366,12 @@ int ff_cbs_alloc_unit_content2(CodedBitstreamContext *ctx, int ff_cbs_alloc_unit_data(CodedBitstreamUnit *unit, size_t size); +/** + * Insert a new empty unit into a fragment. + */ +int ff_cbs_insert_unit(CodedBitstreamFragment *frag, + int position); + /** * Insert a new unit into a fragment with the given content. *