From patchwork Tue Sep 5 17:43:34 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 43564 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4f16:b0:149:dfde:5c0a with SMTP id gi22csp2010088pzb; Tue, 5 Sep 2023 10:44:38 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGjYDHhoLaCdrkhnlnVxbPXLx2U6NkLC9xfsoDruQ72/gQCM5IRZIstMLdVUfCu4hNDBjCT X-Received: by 2002:ac2:545b:0:b0:500:bff5:54ec with SMTP id d27-20020ac2545b000000b00500bff554ecmr430284lfn.3.1693935878521; Tue, 05 Sep 2023 10:44:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1693935878; cv=none; d=google.com; s=arc-20160816; b=wlVdEqF0zlMDREWyqT9J00FDwsbQG/3s6Q8g1WesmEIoB45WB6xVs5mSSla0V8kHso pqofnucdP9WWdYXWoOYzC+tl7U1TCpcMzoJjN8pxPKt6JIP3xyniIpjY2VWykQeH9Slr 8/CU84d0HxFNmOlegjYtuinZdsdAkVXc+Sw6DlEk+Exc9Y1eDgtBh5LNJvtIl/NtmI/A Tt/SBbxegWB/5AeU9oWekjvMWXR0JA2vXVVSxIJJQZ99R9tc/vG0rGtuw56h4/2YAsSH wqZXVmnsB7/5o27aqK6qP2FZrF8mGoZqn4ZHNRePaB6vOM6kXOUhx6/57AAGW5GpcRYW 52yg== 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=OLlbt1KmYjx9eYzboXiL839Kabd1EVFNYac1lEoVDpE=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=z1Qnm+znMdW+zQVXE3aF9YLZk6IQHAb6oxuUJvNVHIMmiv9e3Qsrp3LbdFCB8rdZx/ zTddVlhsqEq4YaGXYte0UTe34JKuWeuUf9xDZDGHY61HhFx6f0SZMsN8rTDzcCJR5vNK U4LakwerslBGGDam1dspkH7U5c6Gs2IQQice2Zh5cDBL07o49ua1pnruX0lBqhJGcEsf lmvjnFnvcywIqxf+Xynaygh709bJpZp3nXU3+EJLpvPJdRkejpXsMnazw+F7CnWz6hF/ oXqqZnxehu0xCLRgEuuQG7M/OwfFQ+WZ7fUWKl1CzycOsh8wbypD6sG9Q/5zqCMj6ENS 3VsA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20221208 header.b=ke6USn9H; 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 b23-20020aa7df97000000b0052369c1025bsi8072304edy.459.2023.09.05.10.44.38; Tue, 05 Sep 2023 10:44:38 -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=ke6USn9H; 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 62C6268C7FE; Tue, 5 Sep 2023 20:44:27 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ot1-f49.google.com (mail-ot1-f49.google.com [209.85.210.49]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id BC4D568C6A9 for ; Tue, 5 Sep 2023 20:44:19 +0300 (EEST) Received: by mail-ot1-f49.google.com with SMTP id 46e09a7af769-6bcb15aa074so53082a34.0 for ; Tue, 05 Sep 2023 10:44:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1693935858; x=1694540658; 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=FzKsDf3wlW/SMUtYp4hMsdOrOahe46cm2B3aGmFXGcw=; b=ke6USn9HYdKmdx22dtVTkK35W47w+DYbcMUlmS1KeJWHL8g/Qu8bY8hqeR6qZHqR/y N5/ABzp/7lMPnUjMAaGYng2eDSZi+3mbf2l1pMPyqq8VmGH4YnXA8sEjjc6Q/koc8cpl eGjMaJ9vrwzq6eU3f6kKhm2SafONv68bhij9oNULSYqru5pGnuTDZE5L7q8UsLQqbBcZ KIMRPYRSMX+7w3Q6r50LSBe57hZ3Bedz3c9ezxqgFNanRhyZOU3rcTSvBM06XMMXuxlr nT2NaakbcVbk0ubDn7Ny+rCipKe/C+x+VyocCdf9ea1cretYH9awkNondZDNj679ZOEx 5YyA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1693935858; x=1694540658; 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=FzKsDf3wlW/SMUtYp4hMsdOrOahe46cm2B3aGmFXGcw=; b=WaKXB/jlU/sN+eYEUvTO+ZtotdQJu5Oc9Tz10f/spXHT0KqvM6HWyyXQYaKAH+R/Qh hkOUo/Wi7vqtO6tKjc40HuTVntlJcA7W+F+dRst9rtQ2MiaX05QIQHaA+y4QxdJkrE9f +Maef1e7o7qi600UKbz72aBh2m15s7yviMg5be5+VO32j5U6xbCsCj24BmsMx0GL93AD 85oVQdmUJvMDke0Q0qTMe14XtCGpWROkmCbs/55h6AT/xu+yNtp68I0HSUo4atdq8/yX NSSv9xNspm5oiDUgZ5Go1CY5rWJIjUcVXeyGXsOsxpNGXn2Yn+cuxlQh5OOb8ddEOygh 02lw== X-Gm-Message-State: AOJu0YxmW56s0Tld+f5oEvKJLONn20io10Y0Vr6a+X8JqBf0waY1MMHF m1BBT5bq1DcFU0QkMU5v+CCUURzEblw= X-Received: by 2002:a9d:4d93:0:b0:6be:ffa9:36ea with SMTP id u19-20020a9d4d93000000b006beffa936eamr7955752otk.7.1693935857885; Tue, 05 Sep 2023 10:44:17 -0700 (PDT) Received: from localhost.localdomain (host197.190-225-105.telecom.net.ar. [190.225.105.197]) by smtp.gmail.com with ESMTPSA id y9-20020a9d6349000000b006bee51de9f6sm5673148otk.18.2023.09.05.10.44.16 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 Sep 2023 10:44:17 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Tue, 5 Sep 2023 14:43:34 -0300 Message-ID: <20230905174336.3585-2-jamrial@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230905174336.3585-1-jamrial@gmail.com> References: <20230905174336.3585-1-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/4] avformat/demux: propagate the internal decoder's bitrate properties 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: OLvYzZiZHNhQ Muxers may access this information through cpb properties within the stream's side data. Signed-off-by: James Almer --- libavformat/demux.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/libavformat/demux.c b/libavformat/demux.c index b218f64574..fcd5daf699 100644 --- a/libavformat/demux.c +++ b/libavformat/demux.c @@ -2974,6 +2974,23 @@ int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options) ret = add_coded_side_data(st, sti->avctx); if (ret < 0) goto find_stream_info_err; + + if (sti->avctx->rc_buffer_size > 0 || sti->avctx->rc_max_rate > 0 || + sti->avctx->rc_min_rate) { + size_t cpb_size; + AVCPBProperties *props = av_cpb_properties_alloc(&cpb_size); + if (props) { + if (sti->avctx->rc_buffer_size > 0) + props->buffer_size = sti->avctx->rc_buffer_size; + if (sti->avctx->rc_min_rate > 0) + props->min_bitrate = sti->avctx->rc_min_rate; + if (sti->avctx->rc_max_rate > 0) + props->max_bitrate = sti->avctx->rc_max_rate; + if (av_stream_add_side_data(st, AV_PKT_DATA_CPB_PROPERTIES, + (uint8_t *)props, cpb_size)) + av_free(props); + } + } } sti->avctx_inited = 0;