From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id A64C1429FF for ; Wed, 11 May 2022 18:26:19 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6A8A368B342; Wed, 11 May 2022 21:26:15 +0300 (EEST) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05olkn2020.outbound.protection.outlook.com [40.92.90.20]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id EE8FA68A948 for ; Wed, 11 May 2022 21:26:08 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=N3JEwPZ4KUit9ItTP4PInesjEslI6RuqQxPnInaL7dRWT39xGNK/njPjvC2yHh1Fj8zVNs5HadMV+0eW62WIUsB87ny45yKAoToB5On4zLRFBuQS4fWhabCkxtqpuPnw62j2zvMEcUUPKBTpeG8cVC0N+rYO1HVwml2yjT1u7QEfCYr6NH9TBOKUdNR7xUq7lqEwc7l26Wf/MfWFjTDtEJXFpa80db3qWiSrrRs2DmpD/nOYWH3XRDkByolUcKvwR4u6585d9qSJVpUZprYe5wbgUW0h/Nq3yvrYORmBJEKW3m5UMZlicNISwlaHGTmuQAc47A3DIAvXHE6s5KtsRQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=wEkH6oQMEgfUPrFT+eMFbQ7Gui7KLl9ZjdPOWZvmb9Y=; b=SYmGKiEJTe7RcO08fMVsvZjXa5XdOQwZs4mIiTI56V5S1amKKpcb6f9z1MScP+7cjTVs6zcFbWYLrhGLeJbjXSPA+k8uBuy9Gy5oDvFo9wcbKbJokBp9kuNjWItZdAZV/ahYyeORQ4ZntwOIuBvRlqKmyrUN2U8bJxbd5f+6OS075TxxBIppqOkkO5AoDWBj3+mRvQXHH7UljO2AVQbQz3Tttue1J0jAnxExnBcgX/2DMcAKHd8ERyAouwgOGA9RKHCnAD4zTfoqSWPQwexPslr5xvqMqHGivZJYKAEnBWOSNE7FjaXiLy9JpwxP2HNrf1RKyy+sBX23ursCURZZBg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wEkH6oQMEgfUPrFT+eMFbQ7Gui7KLl9ZjdPOWZvmb9Y=; b=jb9jtrG+vRIpCjQdFjWGzC5DHQ5Vu4C+okBqWQwXIDzb+/h2hKW9oK3X51PHyLnTPwmthdKgHz6NgjMlXTWsLDK4DCz8buGtEtJW9TNUJILvuynDk4ytKwJTWSA/BnpK1TECn7Ko1t9J8WYn9UVfZkGHI91azlPmIAS64rygwmQDnajDWOe0axhoM1wh5UM2ZMo+MbXifGaqTpSO1SokCZDHiHUl1wlOcVm4/11WLQ3FKQPMrEGIaEIhkSm1ggXIcokmBCwgdLzg51Ci3fKEOUUYhFKS+foC9kkqQTN8wwWTg3/qmnB2iVgqMATBuHDuz1Jn0rIO++tTlJiaf3e6jg== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by DB6PR0102MB2742.eurprd01.prod.exchangelabs.com (2603:10a6:6:7::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5227.20; Wed, 11 May 2022 18:26:05 +0000 Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::60b9:9f29:40cc:f01c]) by DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::60b9:9f29:40cc:f01c%9]) with mapi id 15.20.5227.023; Wed, 11 May 2022 18:26:05 +0000 Message-ID: Date: Wed, 11 May 2022 20:26:03 +0200 Content-Language: en-US To: FFmpeg development discussions and patches References: From: Andreas Rheinhardt In-Reply-To: X-TMN: [lU9Xjq1Vv/dwsiksooFNYcVcoOQZpyuL] X-ClientProxiedBy: ZR0P278CA0177.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:45::11) To DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) X-Microsoft-Original-Message-ID: <80449d48-2250-bf07-6821-a43f1e8b16f5@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 72429e2e-a535-494e-536a-08da337bb5fb X-MS-TrafficTypeDiagnostic: DB6PR0102MB2742:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: dFQKSzyuMqCSaDT/ILj8yhP/cEKT7l0c8HshFExOazYI02IY+kWX92YEjw+l/Z+hwMH43yk3qa1GcERvMaHe+EOlM+qZjpSQlZfgArdPCcLi5w/GkO6kca5q3L2JYdoKWPYPG+xYSW7IR3PXxSle9MT1OpWULS9ZpBsulwC5ynr1nL6Zvm8v4uSvR4dEJsa5pVPpvEB1OPpQzWDIFqpwj0IlkoYqoSW5jc0HMrsyyrqeImKi1RtUT9fRvc0IwqWnSF57dQyrKOrVB4X2q41E3YO6QZGpJJWkZ3OIaznoihBHt7wW9w7Wv95wKIN+UdN27Hn1nNqOYl/bT7sAydSy/BhrPhF2zM34pp5SDotP+ARPwoYDxruAc9C9Pa+SZJB86okec0oeuc1wWcVMj8opQXPJzFFvbeUW8VFhSq03yds2di5Hv7dYQaGBaja48cpNoo/cYgHCa1aTokSjOhiD0tsTqlYDTXw9BDejirLhW/wemYy3phkfi9ERzqqEZ7J/gWghPwJAepKtTD0vj5xtRP54N0NeLOTG9g8Fw/H7xcqh5y/6+25HE4YYiDhy5OGGCvrCWgdLb4Okr21/syyVRkZkvt1Tf+l+xxnXC5/JFevfzxjHISdvmPkAYOua3d/0PIvtn4+33Mfdz8UDYAXkew== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?U2RiUEVjY3k2bkpKT1F3dUQwL1ZMR2N6MmUxY25aaElnZkxLVG9SWElZVXJt?= =?utf-8?B?OHVDNThhY1FseVNtNEp0Ny9iaTVreWFIbWdQVXFmYVhKVW5mRHNybGVEOUFx?= =?utf-8?B?cmkwZVRSVGpxMjZJK0J6V0JrSTJWRmRQc2FHaXRVVDBxS1FBb0VsRmF6RTZR?= =?utf-8?B?cmNOWlN4SkFPM05JSmtjblBVTUZGV0sySWh0YTlWL1NqNGtsYmFjUWdaVVdK?= =?utf-8?B?c1A2dDlzVWYwbWxsdG4xejFLQzdoVWlCM2xLcGJkVGhvOHlqOVZZUUpEdlZz?= =?utf-8?B?US8rdzErUG1DNFVpZSs0cWpmQ3ZFUW5HTDRRb28zL3FWZ091U3FYeW1EcVZL?= =?utf-8?B?SlNidC9aSXlnMUdPNS91Z1VRYTVRcm5GQ2pHZzJtdHFacnZkWlhCaDNJSmZo?= =?utf-8?B?d0x0UUxaYTYrcDA0U3BDNGtBK2YvZmhzakkzOTJGS1pFQUd3ME5jaVBuaXQr?= =?utf-8?B?Vk54T01wRHkwaXJWdTFJZW1KOCtKN1JYdCtvSVh2ZGFhak1MR05uNFRZbXUr?= =?utf-8?B?Sk9KenlRd1M0QkszUUtrMGxpcGhKaUt6dExLTWpWM2M2NXFjaUVhbC8yckdB?= =?utf-8?B?NFdaVUtWM0VXOHVBa0kyOGlLWVJMOUgrQWdmY1FhVjFCRDdzZmM1ZlQ0Uml0?= =?utf-8?B?YXFLQTJMU0JkaExzM01kdzZCdENBNW1qSG84eERwNzdXNnlJZFE5TTEvVlo3?= =?utf-8?B?QWNFZ0NOcXpxM0xNc1JESnkyYWE3b3R2dzNVeHFBcHYzSXh6SVRFREUyY213?= =?utf-8?B?bjA1Nk9ucStkd0ExVGdwOXVnTU4rYTBnZ1ExbWI0ZVFYdlBySVdGM1ZHSkZk?= =?utf-8?B?b0MzVVE2L1FGTVRMNnNwVTlBVUpOcy9Da0NUN3FOei85aE1tbGEyOHZaN1VV?= =?utf-8?B?djJyeTE2WEtTdGRkdFlNUUkvbFB5WWVrbUdWa2ZRaHNpNDNFblpLajNlenp0?= =?utf-8?B?TEJya1BEc3VyVWtkZmNJbS9YYmdHYmdQSWxJeWgxdm9kZy9lMjdIWVRLbyt0?= =?utf-8?B?TDYyU01wblE2V3FEMSt4VGlGUkxab3NFaUgrZzdlSVVybjljZC9FdGtCQklD?= =?utf-8?B?Zm5QRTZkQXRHRmwvbzZZTzFFQk8yYno2Um8vWXNQOE5Dak5vYSs5YU9xc2lt?= =?utf-8?B?OFRWTGI2cDN0Ym94MmZqWkZNWm1SNlMrNXFCTXBRSFBvbmQ0NEFYUi9HRG82?= =?utf-8?B?eWFzVU5YSnNCNDE2d3FJS1BVNE5wdFNmNGZyQnNoV2FNWmFEK3RNUitOT3F1?= =?utf-8?B?QVVZL1lDQ0lMY0ZoYlliK3AxUFBybW5mMklVRjFyYytIa0daNVhvcXF2RmJs?= =?utf-8?B?cUhBUG9nQkpBaVQyc0hhZ1BrVlZtWlE3c0ZyMG1JYS9WSGhHaUphaGNrQTFy?= =?utf-8?B?TjNBbnVJbzBGNWxVQm5lZFFnQXlMZVdaTTRiQ1BWREM1RGF5RkZGUDhxQTZG?= =?utf-8?B?M2hncmdjZzYvYWNHQU5aNEZMUlU3M3JoZUhEYlhaRGRHdS9uQmxWVDdJdEZQ?= =?utf-8?B?QUI3QzI5WWwvRUtUdTc2VGlDNU9KQWpqZ1YxSVlOOWJXZ0lvdU4zVEZqZkg4?= =?utf-8?B?eTdaNDNXZjR6VlI4RmJzVE0rRi8vbG1GaFZTVXQ3eUg3ODZYWFBKNjV2dEJH?= =?utf-8?B?ZlJOM1YvdTVCZnZFSkVZUDh3ckxsQWE5SEVucDhlVzhQTG1FeXEwejhYVXh6?= =?utf-8?B?YzJtSGxKcnAvd2RBT2M1VE01VWRIT25LQ29mU3JmeFZ5c1Y1cG5WYzR4NHh0?= =?utf-8?B?aXA5T25lZGozNVREWFljYUpFYW1XWk9Mc1N4WFlKNU80cUhoS1V1V0NHZWVl?= =?utf-8?B?bzM3ZERXR0VENHF3dHFacTgwZzRrMHdrU3habnkwa1Z6REJDd2JtamZoakZZ?= =?utf-8?B?VE90WHVBQ1BhQWtudzdVcUxiWmdPWHBLTjBmaloremx5N0lKUEsxeUlHMHEr?= =?utf-8?B?N2ZVSGhvTitBd25oVmlxUXErK2svc0psaUFGWW9ZVVhaZXFPRWRKQ2NlOS9n?= =?utf-8?B?c25WZzA1WDF3PT0=?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 72429e2e-a535-494e-536a-08da337bb5fb X-MS-Exchange-CrossTenant-AuthSource: DB6PR0101MB2214.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 May 2022 18:26:05.7237 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0102MB2742 Subject: Re: [FFmpeg-devel] [PATCH] avcodec/internal: Hide stuff only used by the core decode API 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: Andreas Rheinhardt: > The general decoding API uses bitstream filters and an AVFifo > and therefore AVCodecInternal contains pointers to an AVBSFContext > and to an AVFifo and lavc/internal.h includes lavc/bsf.h and > lavu/fifo.h. > Yet actually, only two files are supposed to use these, namely > avcodec.c and (mainly) decode.c. For all the other files, > it should be an opaque type that they should not touch and that > they need not know anything about. This can be achieved by not > including these headers and using the structs instead of the > corresponding typedefs. > This also forces translation units that really use the BSF > and the FIFO APIs themselves to include the relevant headers > directly instead of relying on indirect inclusions (up until now, > even avcodec.c and decode.c relied on fifo.h to be included > by internal.h). > Of course, it also avoids unnecessary rebuilds when bsf.h or fifo.h > change. > > Signed-off-by: Andreas Rheinhardt > --- > libavcodec/avcodec.c | 1 + > libavcodec/cuviddec.c | 1 + > libavcodec/decode.c | 1 + > libavcodec/internal.h | 6 ++---- > libavcodec/libvpxenc.c | 1 + > 5 files changed, 6 insertions(+), 4 deletions(-) > > diff --git a/libavcodec/avcodec.c b/libavcodec/avcodec.c > index d11f035481..f4ce6b8459 100644 > --- a/libavcodec/avcodec.c > +++ b/libavcodec/avcodec.c > @@ -28,6 +28,7 @@ > #include "libavutil/avstring.h" > #include "libavutil/bprint.h" > #include "libavutil/channel_layout.h" > +#include "libavutil/fifo.h" > #include "libavutil/imgutils.h" > #include "libavutil/mem.h" > #include "libavutil/opt.h" > diff --git a/libavcodec/cuviddec.c b/libavcodec/cuviddec.c > index 81d4c89215..cb3cda7e24 100644 > --- a/libavcodec/cuviddec.c > +++ b/libavcodec/cuviddec.c > @@ -34,6 +34,7 @@ > #include "libavutil/pixdesc.h" > > #include "avcodec.h" > +#include "bsf.h" > #include "codec_internal.h" > #include "decode.h" > #include "hwconfig.h" > diff --git a/libavcodec/decode.c b/libavcodec/decode.c > index 69e68ab09d..209585c540 100644 > --- a/libavcodec/decode.c > +++ b/libavcodec/decode.c > @@ -32,6 +32,7 @@ > #include "libavutil/bprint.h" > #include "libavutil/channel_layout.h" > #include "libavutil/common.h" > +#include "libavutil/fifo.h" > #include "libavutil/frame.h" > #include "libavutil/hwcontext.h" > #include "libavutil/imgutils.h" > diff --git a/libavcodec/internal.h b/libavcodec/internal.h > index 2fa56d3a59..17e1de8127 100644 > --- a/libavcodec/internal.h > +++ b/libavcodec/internal.h > @@ -28,11 +28,9 @@ > > #include "libavutil/buffer.h" > #include "libavutil/channel_layout.h" > -#include "libavutil/fifo.h" > #include "libavutil/mathematics.h" > #include "libavutil/pixfmt.h" > #include "avcodec.h" > -#include "bsf.h" > #include "config.h" > > #define FF_SANE_NB_CHANNELS 512U > @@ -73,14 +71,14 @@ typedef struct AVCodecInternal { > * avcodec_flush_buffers(). > */ > AVPacket *in_pkt; > - AVBSFContext *bsf; > + struct AVBSFContext *bsf; > > /** > * Properties (timestamps+side data) extracted from the last packet passed > * for decoding. > */ > AVPacket *last_pkt_props; > - AVFifo *pkt_props; > + struct AVFifo *pkt_props; > > /** > * temporary buffer used for encoders to store their bitstream > diff --git a/libavcodec/libvpxenc.c b/libavcodec/libvpxenc.c > index e35b47b87e..187a9e9a36 100644 > --- a/libavcodec/libvpxenc.c > +++ b/libavcodec/libvpxenc.c > @@ -42,6 +42,7 @@ > #include "libavutil/base64.h" > #include "libavutil/common.h" > #include "libavutil/cpu.h" > +#include "libavutil/fifo.h" > #include "libavutil/internal.h" > #include "libavutil/intreadwrite.h" > #include "libavutil/mathematics.h" Will apply this patchset tomorrow unless there are objections. - Andreas _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".