From patchwork Mon May 9 21:18:55 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 35712 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:a885:b0:7f:4be2:bd17 with SMTP id ca5csp3103181pzb; Mon, 9 May 2022 14:19:19 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyJ+RvvfyAj99iMpB6zoGXsFwpNVbs3sAPCMMVpOmCu8vwGIjKdY9Xa6Hj7CbCLWGW4HZP+ X-Received: by 2002:a17:907:7b89:b0:6f4:9b92:c2ac with SMTP id ne9-20020a1709077b8900b006f49b92c2acmr16283210ejc.409.1652131159251; Mon, 09 May 2022 14:19:19 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id y26-20020aa7ca1a000000b00425df4b9895si11501657eds.313.2022.05.09.14.19.18; Mon, 09 May 2022 14:19:19 -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=@outlook.com header.s=selector1 header.b=qarUcpwr; arc=fail (body hash mismatch); 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=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8937368B373; Tue, 10 May 2022 00:19:14 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-oln040092075032.outbound.protection.outlook.com [40.92.75.32]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id BF44668B02F for ; Tue, 10 May 2022 00:19:07 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YIYaNTgt2ByL8uBtkGh32hXZajamQEUb8T7m/sdUzqyIYtwaxMyzOaIqXztqPVkSneGbBsVcQew3MKApW2PPUI+suRdPE8pXbY1Aw2MbtydXAqRNzOOatAhixjDZ1acPxHfxgQ42SugAmH7NNZqLlfJtYl4txoy3Txsr2zrtNIldbky6o3UdT/rRF695JqHEJoV1DLu9tiQQ61LcNbT0n4GzslPDdRgt9iPHisF0IRiJ4nWf4lZimvO3/U9KvJZ+EVUpqrRH55FmlHVXapd8TKiF8VBMdM0y7xJeTlOKtAwHKhCqTibVzIH8O6Pgp24CbCWRiCErEcXhwjdJz98yCw== 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=usFE7niNw5GA8bYifdn3kKNI2XeQZ1mQV72ffJmv6cw=; b=Ha4eUf9ZYP6uHgWN8/3zOJhXjkSJYCRY2l748OsKx2vESmZgRoeC3QuKTpnKt4CV9SXamRB559oggLs0xsImaey/XpYvDHQxlR93sttKgsM76JzpfAJ0ZUrQTXCro5VXsb5QeAHaQOT7Dc/ZX2F8T0LwX3jKJk5X6AhBDqVLC+ygpqIK0EOvlMzAaVYG2BVO+NFZ9bOTdm2s5TkQTu2kKQqz84d8ZspUCetMQwbpjVM986tIIHoEgEp99Br+MIxUyZkzUh+A/VsADu0snzrz1/24/ZVaapf6EKDOIx74xS+Rrsy2yz1JCZHlRlVd0F9h5pL9lZe8tAtfP4pSZVg4ww== 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=usFE7niNw5GA8bYifdn3kKNI2XeQZ1mQV72ffJmv6cw=; b=qarUcpwrfAhYv2j9LnFZp5nLXX7F7BFX2JRwmGnI7YpanxKLCwflHJoXwmlQhWbM+sWgL0DbIhBIgl0xygaMcCv6YC63WfLsnZhVb9J4V9jYEkI0Wbcl7yY52qPZm1Fi2/OtM1/KaDi4QRvsWa05szK4vxn0/ADQ29fwTDokfPP1BlUHkdw6FElmbtY7M9Z5vEol1n7Z9zrPsfk/+Gi7QJVzYyY5aJ/4C3E0o+wt29gEUmqE/sIOFuQvpjwRPBngwyqMC6XwU7090AJEBb9hJSB9d9OFJLWnfpGK+iEB2q5nfM4KDWSGOgbrsrdjKiDgUhKBBZUbnNaudFNj2p4k3A== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by AM5PR01MB2963.eurprd01.prod.exchangelabs.com (2603:10a6:206:9::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5227.21; Mon, 9 May 2022 21:19:04 +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.022; Mon, 9 May 2022 21:19:04 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 9 May 2022 23:18:55 +0200 Message-ID: X-Mailer: git-send-email 2.32.0 X-TMN: [jqGqVwJCv5cILFmGSklAFYQvq6qcHZZW] X-ClientProxiedBy: ZR0P278CA0162.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:41::13) To DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) X-Microsoft-Original-Message-ID: <20220509211855.177084-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: bcd22526-b17b-414a-4bb4-08da32018ae6 X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNU5slNsrisMN7qM2L2rmbut1SGRD7lfp3nfy2n3IgpeGie5gPtnzZdFP5c6ycB8Gm38qDfTMj6FbfWL62+WQd+lXXgKux7lUZ/5hnBOI+jeGW44h1v3mJV8dl9AmlXjwce6R9SN8o+uY/YfXEoUr0vQ/KtE0dC5yG4bJ1sylP7O1whwpp3Jkp9N0k38DiBEzqA/Jv1yLr9c0e12VnsQueg9QZY3x22u+EvVCLgCBQroS9eo7SSCHiyTcwH/rrnm0muWR8u0BIdghTLzcYANAQfq4oN6pq+z8qfKdY4pXlMcXUAraR4qxge2zya4K428rLAHio51ajVKIOkuiHVzIZKltpjoL2eHzd5Jd4ogHdfQS2SKYDvs6D04Ldc5QBgCN7JhsyzByOTZgjYuwZHHYH/VF67hUkeu/VsslL33s4SUmt499taic96nmHGkKnAUD4hFw+/dTovxfJiP4yQTbbATQAZpOICjhvUd/LXRvCAQg/ELeGhPTba4Bx3BifqeVfggq6qEZuPyzanYChdg4pD+jWJHkIHDC5sbl3DAEK+5VXz0S3XfBPJ65WjXvBXSft4hcRvzbuH1G9jSEvc9hoK2wKozA/O91oH2vH4lSe+2onVMcvd7U7rDXshtotpu7oq47reoS2dttXzuzOZPofycicyYgJR1M64p/1ImcbtYvrZij+lJF8PE6y1V1TndWkZvMwk6xo4i1yqNQq4K1moo7mEoH8WmK/I= X-MS-TrafficTypeDiagnostic: AM5PR01MB2963:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 0fH9PlrFtrxZ/eOgbVgZrTNcfkCdMv97FK42AWzSiRkdR7HoKOMlZQjBHi9MC+F/1yAcQkSzu1Ggz0l2SGYNO+7hflfoU94HkzXRIBmYt6zkhQcml8wTmMm2TiVIovhtmOTG43EZINhp3ttLwKfgpOF67LN2IKwJW442P23cai9dxz20qUh1lJJfWAgLuCp/zjv26j8yh0JKYzB2orUOO4b4gZV7i72CJp3nP/etRG+d+DpKD7t13GMGqVb1mz4fH3wutrSNj6mCPfg1tT4OwkcBdWuw/lYk76out3fZBkpPy+heCOlOGAvL3IBh0IASKnbPoOCXIFueME/W5b4ypgaJt6vJN4JrGXItFa3ZDtih0erOhwm06G3+EjZ4S1kjEXY8BZ+It8qW9biowhtfsEE/lKiNhC28fEKfqJnTbZW5bdej1NcSG61Hrad5ej4t1cDEvPO3q/vRLEM+EMSTTm46DE7O0GOOd8wLYPCkRi19d5WFJ5YJgDxHRXqSMltPFY3gW7L0MZ/D6VhgXRNXrEkguKJCh2qiAgllTVNkg+apLNeIGt9uYIzlWCtvZ6L/qIFqY0lAVa3YJnpPB63ib7gorooIYvbp+q/nsFiMzqtd5JYu3ULkGuQSQntefa8dGXUqu2aKzTFBSJUw2OIHJA== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: jodsBfB93TV8iV+C+IhkVo22szhT9QDMV5/ABB6XkiLu/gOKjZNWNTUU4UZ4rzbpF2P0yFARb0guOwBKctpMcyInOOdFe70gV0GyY68X7j4aYBkivr52RFF2L6HAV/Yuir+FrHGddN82J772kf2X0l35MOZrN5hM8X5tBiPrBVzI+hFHZ5ykE1txGqV7tHbwqPy1xcbwGVpoT3VqHeS6+sjwZVecR4Nq90DyvhVA9l387TeswxgpE8kzp8vKQKaizWaeHJPHFcCNslGh0MvoAK0g5C38WXSqWgutXSaDFoKogS0AFbAGh03dP8gG2k/l8r4O+uYUMPDQSAAFhuIhyml0t2g3HDZz+5Fj68MQtitafzPjvY8cnj3iKqpyMyNgJQZEZFJGntUO+/adkXLmToVznnprApovtRH7ZGRUI8fpVG09kePTsxjo08GGUy8UUEXYaBBel/eA+dtXGwbubAV6ATzryEeOrMM69k6ygW1+zffphwQEQhhIy8GAa9RCHQXPt+k0ceYNBKls6KZXNoDNbVvXCdqJYCA8I+N+BDU+V+XXTswaFU8LLXa0/zwSceeIosf2JIb4E2duhwA+fx0tpuIEp3t8g+K9qqbIqEhaX6wEfBsDM3W+4rt9GHfGQKCXI89hZvarl45bB734lPe7umBjWYqo9aRjZKe9o+n1B/O7LQifyUTvs2OjHlRiQkkCOVB/s5HHgCXK0mjIpNFy+YDYPqgkNhwFz5dHpEgZ1L9SLGFuP0SN7hdp/VzZ6qYIzTG8ifz+nNWwqnmnB/oyrOst6S4Pv7BOoLMv4thLa35F/nciDmZmXkWdrGJ0cQL0Hs4hUlihBlq+6tRsHVywtfwhd1oP9B7SSQXgso9f3e/Zx0qIy1WFltF5FycYHOr6hHNNfB12gM/geR5lU+wTQGXL5Ip/uJ7yqTs+/1neh7/sgZ8jhlW/rSO27LKyu06V2UNp81v0bzU6pqAqSPbJgE9MBTDYU/ZeyIcn9kpu5gdv27HXP9rQ9OzkFHzYMxmrlhl338PigU23Oi/qpwz6UX/pf+nKTX0P/FVO5Omhx8Dt4oB4ZbhdQO/i2W7LPzV/ohxSwebxcFk+4bc6SAfq9PS0ccw96LBN6w7aFS8cSndaU3dEnf236A4hOeF+LJ+u+kT4UmLxYDWPj922ZrXtDfdbArX6h5k5M/Ph4ayjFCQ9Iq/3Ytvm5TvUJMOdegmudhrhFm/6tQ+Z6YnAiVPOCZwYDtiFCUBm1bm2Bk5QmXT18Pm0JnOHNqus2GjR8wlc842zUatweKzrcGboJBUVEIS+iwZf4fo4hV+662cUzUQnQDAYqGx06grmbaPAGbgiIVk6qjynpFXmZbbhFfEWWoVArezLssJAjY4FnZxxtgLK+kJR0Wtu/usXKN+zrcc4QBNGCsECEXH9ApLV+tR7VQtH/OFtAlbPWQv2e73L74vAht6g0/CvXNz1i6hk7OunGIWwOMddL/RRHqckHA== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: bcd22526-b17b-414a-4bb4-08da32018ae6 X-MS-Exchange-CrossTenant-AuthSource: DB6PR0101MB2214.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 May 2022 21:19:03.9925 (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: AM5PR01MB2963 Subject: [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 Cc: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: Wb8/3l7Qxwtz 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" From patchwork Tue May 10 07:33:56 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 35713 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:a885:b0:7f:4be2:bd17 with SMTP id ca5csp3284181pzb; Tue, 10 May 2022 00:34:16 -0700 (PDT) X-Google-Smtp-Source: ABdhPJws63IssvzNQvyZ5RjVy/HXjzlJcH+46dX3zygNKvQlQpNeNFb5ut6xbwkLGlck3HbzqnvK X-Received: by 2002:a17:907:7282:b0:6fa:9365:f922 with SMTP id dt2-20020a170907728200b006fa9365f922mr4290189ejc.262.1652168056662; Tue, 10 May 2022 00:34:16 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id hb44-20020a170907162c00b006e7edaf2b8asi9963865ejc.371.2022.05.10.00.34.16; Tue, 10 May 2022 00:34:16 -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=@outlook.com header.s=selector1 header.b=MCY9LDC8; arc=fail (body hash mismatch); 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=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6818368B3AE; Tue, 10 May 2022 10:34:13 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2020.outbound.protection.outlook.com [40.92.91.20]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A12D4680446 for ; Tue, 10 May 2022 10:34:06 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=R1P/W1JzTVkF6W+DVbYdoBSxSze2pW0x5BjnZPeyPR4qNUUb2ro1C6esZ2z9xKIbuHJQ6lEYa+9+bpBkjmv6jmLV2SpLO+Qf/nakI1FEoqV/ikGg2SDZGmnMwlvUyyvtX7ZP18OlY2C8hgTxQAqN6+aP4cRy2mDCH2WqSTDVRdigADVvzJs4RswYuHXiW6cdcZLTbftzkJDH4AwKCmrZQVQNY9JFE1ww7fh7HyRAlaSeDBy2hT3pkff70atkwoqqE2VCQ07zJRqf1snmEpBJVnBB17wQAHq09Nxs5jWJullQIoI0hHP7VFaBLmYKyQsVxxfZbi2grICXr8P7uV+slA== 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=rPcXa8NU2ogHVv+gXJjgBfSWiLZwcvPUtBWRQqZnHdg=; b=SsPp3CnjXj34bKQsVlA8jbjmlj60Rkz9L214yHu4b9IGBjDqkiNv5qAx68RwStQeLz8ovo7imp/fN/7V2pf00rMoBReit21VN4jRrHbG5V9I47u08I6YYGnqR7OEX92CGy4NMJxFZjlIT8zSwguQhYlUOEpl8bBBzzbiPtt63RV6aOCIlQXvihb8x2f6ujSd4qwPfz3d3jKR0W/E71Ur7JPua1xyuoZExbp4ALIAxULglWNsKTxhqdlQTq2r0/CRheUKNXM1YPtShDeqqIDIPDl1trk7QIxRLxVqRxCGgwRxv8BGAAvvNr0xLMu0G+kY8JE+q/KdKubV33EC8/BMig== 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=rPcXa8NU2ogHVv+gXJjgBfSWiLZwcvPUtBWRQqZnHdg=; b=MCY9LDC8G1/QeadH5cPWE+CgMoa+hiCJuM3myxVFgvEUT+odzcds0hNk2gfCnHe/qtKAKtAXKylrJsdrTkqLxU/E1xiDpxrhFl9SzDxg2xkFihAZj6i/0Q2cZUerdY95A2fpjFFpaKfAmhbewP1G3Ol4QKe2wu/f4UlmNO+EZ6gh/tILEILio6hwuFVJ6PqvdZE0ENqwUT0oFvdldyN/Pt+CxLKLIX9did3kCt4nsa8zyauZdLaJWSZQCt6ZvnAHhJXC5CtQ3h02XULESrDo6ByKVl4leHNK6bR1FXGin9dbinsvzg+ECf40XKPtdZ5Vaaxm93yTVbwLfcolJ1sEIA== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by AM7PR01MB6564.eurprd01.prod.exchangelabs.com (2603:10a6:20b:1a4::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5227.18; Tue, 10 May 2022 07:34: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; Tue, 10 May 2022 07:34:05 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 10 May 2022 09:33:56 +0200 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [03VkB4/GXv8YlXgtT8q6ui13Iwt9SqNt] X-ClientProxiedBy: ZR0P278CA0004.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:16::14) To DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) X-Microsoft-Original-Message-ID: <20220510073357.480674-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 5f508aae-39b7-416b-2233-08da325775f0 X-MS-Exchange-SLBlob-MailProps: +LiGfBxqLEuz2s4BD6D7i49evanEJ8PLqnX6MxIE9aVdeEPrQLcmsHwj2HnaCjDzxge8dZ78GePKzILZ55zRaGalHxTU3wnG+A35gpaZJB2HSyFG48y7N8eoM8n9wXPuGcYCkf78khWkBdj62g5U4brqpMIs0vqdr1AeGFIhhhd8dQv326XrZI1mgvqoP5c53hoECtMl34mCYKAKLk6JNGw7Oj6bZoMXbfnNSmf0LKO6KjVlqgrWK93UCvnhrbCzi4lihQoNbA7qmxn1NWlqSt3UTcKtL+NAfBQ2k8w41l6pxHIfsp0G7ygD7Jscp2SIZ0+NZo7iIUmpHP+pgDqqQQDifsf21RLXxvcBZ1hYYYRNjA1OZRBLlEm94ZrVJDjC54ituuA0eKKpYeoQtVhLttGUSMLytwMc+Oi5bIHf7nX+gHbtWbpZ7jYr28FWrWMwYQvTBaj8uGWQ7LnX3DwpGuhopZHjLsvMFNG2Iau6/HVjTnqPKaT0spC/YWqEwWfFu59Q2H/uP5L7CdBU9U22dsZA+OYe9u3Mndye3uk0ErkL8B5KmthrtiqhpR5OqlJ87sRnbRC0LYBmOSCl8t5d1ukn+SS80717hR/cwo3JDfvWKQBUsmjZJOXSMIz0DN2jGf3wjcTpX+3lKprcgYX3vBs0iZDGnzYvp29lHHaNC+IlebpzAlicd3UPEca4ungM+3LpKMCRQ7MiKmaR61JsrdblBON8+aqQImLwyGeNzUVVFFG45vRlt6Zp1zVojOT56n5RUSjAoEgJGCkaKS9dRGgbUPMaVctT X-MS-TrafficTypeDiagnostic: AM7PR01MB6564:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: r0WG00FYbXND8HyEyKsgX6c8ESI54qNqL1qkGpa6M3f02XBskynsZXrBPpJSVPcPx/KzGA/uIDW7FwJepSO9eZnSvGsXyN+HcRBur3HqlrWPNxI/s8eS8Sap9YKw+6/dkcZ4JiGXF81tHDqrTL2rbkXCp8I67FjKLN5tP8dro2JyjnyUAmIy9ax8QxjY4EjUdLMH4Cz5UQ5nzJuTtccbF+MGgW+leQHaAt12lOsJWvi1k8tYYe37gMLM5WhIDGHA0VX14FG1Nuz7zoBW62zo6HXk5Vdefs/unQm+m/azkLClJrG5UsNprLslg+K+PkprK4VQfLj3mz6YnARJXyXArCZgRvsjdQwYGnTOu6HXf+6bGksRXNQH05JlpxP1O1aBTwdKApCpjVgtE0Urbxt8G6lDtWEvFqRG8zSxm5ToE09Qg9XF7b8CgfwqKEJfstsNsXYSQ6CmF+QN9w+YMbmKlwXJ/UpfrDeRdxuWOZlWSGPN7QQGOJWvbl2z4O4eqdnAWIoCYdmrfWz7t12F7Oz2w8ZPbsHKHxDKnLN6espwKz7Gs9tWcQ2T2ANDCHhbVD5l+0s+xQvfLx1vRHU2qkYkYbvQ/beL5SKgvtMBzjIMwDjbjcX7SRzThRrRMSwRvZgMuSB5gyttojqg0cZnIJmt7g== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: FtBbzCJWf40yFrkmdS6ypPNSua7FDQrzp24IrVxuU/VK3pqpVurAmKxkzOgjx2nnVNjBz4Ei6+C9G4KAOCpto+5H+dpawqwFSwx7qbBnv49WoS9XkywsJSDJdJh31sk2MSkAvbCoyJSrTJhQ9AYH6J7RwivOABStHj+/4a9e0UhH2UUXfz7eH/EXRzH5N1/1COIx4y/SXafTnT4jfcnQLubio/iqHi6kWFmK06GJsA4R66fi9kIvBdxG56tCdczLNROt4Tpre/BCdmjsDtFZWqJoAJlXeN2kwxHwt9WnJE/DUFqdyy+05OMOIPajjclIeoXDIR/Xj+ztSLU5nL7hDvxE99u/NPDaQlljil4kcZfh6vvIQG6pXx1bG39P+ygWQDHn5AjW+DUjQAT9HHp3yx3g7IdE33KJ+RJeTrwEV3G3j6Xh0dW7L/7uY5QV7qSmO9vez/2+ipx9QR8fyq11598REY4ocrA2saXieOEduWa444ykx7Y2z9loLl8ICDMltiBPnfR6do7mbvI1Tl0SfUpM9AfuW9bjDxhgFbY/XpHzwh5F8LLWUt4/XPAd4ZEgE+Tq0xl9AT8xOjlTg/yGxYc6plQ7+OudpEKqmiFt8otLff7/bx92gl8PRsD3aFN0CFL9LNWZ3LR0dlsaa9P8ryDgSHrXOaTBrjnUX9IK1uHsfZsVEyFAQ1177gMxOBeJM9f1WLSp3SksShnNYwLEoxgne2z1FGClLO6wTrsxR+4xtP0Izn6kaGw0AwzAR1oy0+6egz365FuifmXjQLmNZf+Sal8xjQ7WuWwaMYuUqjGqKZOKCR8kfx3p0Csan0yGJA4FAcldkE/J5S3T5lsGoHUg3hziMbpg93sl0rbIFu6YkAFeEfYPGsAVSEL2JvJRMxV8hGKp4Z128Wakq9LJjI6y0sZOz6kLr5g9ia/Ub/64MD0ONqMMm+TfdcTmmLA002zkBWxXsBz9o4iylkb0EUkRA3r1/iknhxAPPlOv/YdRD0+4BdLvKCvOfXxQvkeKuxNsds6Tq3FmqOCAskHRySxZwWWM1IDbv+bNScy6KgXBWFXWmuiyuWy4i4tJI3AoNVAkdkYo7QXnyFapMVtjuFGlG+xUU0z8bEI9FqjZcIzcL+74VGQuqMFZ+GmRN7mC/VHPZAgAZQZow2w6ixWtqMKMWpmjXd/tKNG5ZA3521ih37+A78vMe+hzGWE04S5Um8JB++iIvh1/6CADbTmDFX3CxNWiitau5QJPwT7juPClYSFlt1HSFpYYzsWDlnr2zpQfFWYE8xDhbNDsYQ3gCItIq6UzPTL3pl0057ejs3LQwaeLeJwd31EwHMNfOzjtTXLiPMgoDcRKQWe6fasleeWzd3/j9Ur5Pi0AyAkuRJO6IQr8Bt4OQYlgJCKwbVVFdzYiX0q4FwsZtGf0IrQNxptq7EW/MUfFtMllZ+55bcQnh2PL72nXB/Yo1gAA4Tz3aumJu1r4X3F8XmYagflqQg== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5f508aae-39b7-416b-2233-08da325775f0 X-MS-Exchange-CrossTenant-AuthSource: DB6PR0101MB2214.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 May 2022 07:34:05.1530 (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: AM7PR01MB6564 Subject: [FFmpeg-devel] [PATCH 2/3] avformat/internal: Move FFERROR_REDO to demux.h 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 Cc: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: lTMLdb9bv0uF It is demuxer-only. Signed-off-by: Andreas Rheinhardt --- libavformat/demux.h | 6 ++++++ libavformat/internal.h | 6 ------ libavformat/lxfdec.c | 1 + libavformat/smacker.c | 1 + 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/libavformat/demux.h b/libavformat/demux.h index a008c3dba1..1f57e062f6 100644 --- a/libavformat/demux.h +++ b/libavformat/demux.h @@ -55,6 +55,12 @@ typedef struct FFStreamInfo { int fps_last_dts_idx; } FFStreamInfo; +/** + * Returned by demuxers to indicate that data was consumed but discarded + * (ignored streams or junk data). The framework will re-call the demuxer. + */ +#define FFERROR_REDO FFERRTAG('R','E','D','O') + #define RELATIVE_TS_BASE (INT64_MAX - (1LL << 48)) static av_always_inline int is_relative(int64_t ts) diff --git a/libavformat/internal.h b/libavformat/internal.h index 44516578b0..5363c0c355 100644 --- a/libavformat/internal.h +++ b/libavformat/internal.h @@ -651,12 +651,6 @@ int ff_alloc_extradata(AVCodecParameters *par, int size); */ int ff_copy_whiteblacklists(AVFormatContext *dst, const AVFormatContext *src); -/** - * Returned by demuxers to indicate that data was consumed but discarded - * (ignored streams or junk data). The framework will re-call the demuxer. - */ -#define FFERROR_REDO FFERRTAG('R','E','D','O') - /* * A wrapper around AVFormatContext.io_close that should be used * instead of calling the pointer directly. diff --git a/libavformat/lxfdec.c b/libavformat/lxfdec.c index 2d0270d718..8003ae98b7 100644 --- a/libavformat/lxfdec.c +++ b/libavformat/lxfdec.c @@ -24,6 +24,7 @@ #include "libavutil/intreadwrite.h" #include "libavcodec/bytestream.h" #include "avformat.h" +#include "demux.h" #include "internal.h" #define LXF_MAX_PACKET_HEADER_SIZE 256 diff --git a/libavformat/smacker.c b/libavformat/smacker.c index eac50040d7..1d54e8e917 100644 --- a/libavformat/smacker.c +++ b/libavformat/smacker.c @@ -29,6 +29,7 @@ #include "libavutil/intreadwrite.h" #include "avformat.h" #include "avio_internal.h" +#include "demux.h" #include "internal.h" #define SMACKER_PAL 0x01 From patchwork Tue May 10 07:33:57 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 35714 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:a885:b0:7f:4be2:bd17 with SMTP id ca5csp3284218pzb; Tue, 10 May 2022 00:34:24 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzsx8CU0B49MKkaTRGtY4I2jfn25xeTDuOBtk4y7WzhaMFV1y8pOdL6u1nRAfTqt03Alkh9 X-Received: by 2002:a17:907:628c:b0:6ee:70cf:d59 with SMTP id nd12-20020a170907628c00b006ee70cf0d59mr18632060ejc.402.1652168064601; Tue, 10 May 2022 00:34:24 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id m14-20020a056402430e00b0041d76eaac95si17053465edc.54.2022.05.10.00.34.24; Tue, 10 May 2022 00:34:24 -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=@outlook.com header.s=selector1 header.b=luAtQaoD; arc=fail (body hash mismatch); 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=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 63F5D68B070; Tue, 10 May 2022 10:34:18 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2020.outbound.protection.outlook.com [40.92.91.20]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B496368B070 for ; Tue, 10 May 2022 10:34:11 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Hxn8BoFwShTyoprHpwZeKTB9uHf4FCr/T7HuLmqJU3CPQFFtizC2cpIWPD8Lvs0NKzxl28gKRm+Fv+FtJAb0csHOFXVkIMEOsW6S1auUwXSUlvtFLFxFK4klFFZtryczhHl6Jh45b2zW1LoTo27KFbub5fvMcscOb3jryLYrknMgHC4peMEPpXxaLHv6IuSziD1pzFKQikoxPhL5Xmk6YNrgChOcAYM4hPMNnxaLHjVi5sMKoPuSfFr68JKYJ/XsliIBYToohCwGtdWUS7GFGTeY5uNu/w7mXv1ysqNf4vHFK5cMlTtLg10+dumbppjuSTwlnRsIquRrKwKc7x4Spg== 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=2RZ+H/PRYHIFw/FUZJvupbi0bJabR6OoZW1DdnND2Bs=; b=mSw9GVXEoW5tBJzJ/R8ego00hBTIaZIr87Kvj3nAuNR5L3jzf8yvnbl9q2nfyGb3qd6XOvo4ICT8wpyfQRDXLYqJ1lw6Xt0N0NrwsMqu8B9MFoLUe0VZksK8EzBKXK4VsvKwqn5liTsh+13mpMf0j+KmneYCv7shZlEUWczsrIKGtO2vhbNsmtHNS97Fa/yQYNL/sU4rlKyvU1o5Tskppu41paOnorRPUw2glPKt9Y+dEZJZJ+Slih+Q+mDr5pIVWj2WkskhYAUUAjvajuHzoLRzymvRmZsbk3NWIFgS2xpdeTOvrsZ62l3aUFjKxUnS4mucr7iSr2IVRz5LxterSw== 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=2RZ+H/PRYHIFw/FUZJvupbi0bJabR6OoZW1DdnND2Bs=; b=luAtQaoDru4x4oSRN229qYd2/kHVpPkeWzgxrrPMvM53WxJfihsE/SDrAbYDU3R8fodOHfTl/S1gDyk+3BzGS2E+9oQSeIta1ZoBB+cp1cZfrJZzG/AIniV/TNgSIeYwtw4zQz09gjFm6DG0Mp5gEE0IK9aIc9ygutSomBsJMQTbx/XwvLwTxGIU4/5a8iD/WQtRkJIl3ubOr1tnHIm05xQ9oa3Mroz4ATfP2rYGqrlHC63BX4xlplJb+IrEFTbrCkJlKni4QjVbEFG93e90MpZ42xJkDbLqKLMNPMaXGIn7Cio5Abs9go7nEV7SHgQDyXkgWhzkHpt8vpxdsIH5oA== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by AM7PR01MB6564.eurprd01.prod.exchangelabs.com (2603:10a6:20b:1a4::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5227.18; Tue, 10 May 2022 07:34:10 +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; Tue, 10 May 2022 07:34:07 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 10 May 2022 09:33:57 +0200 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [c7q040UYKnhrwHbHvVEogex980L4FEk8] X-ClientProxiedBy: ZR0P278CA0004.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:16::14) To DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) X-Microsoft-Original-Message-ID: <20220510073357.480674-2-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 09f97c3b-ce97-4804-70a7-08da32577728 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiS5HkHrfABX6xWp8dcQx8IrNlk8QtqeLTcjsYeocukcl7bmuONs7egm47menL9I7xPIYP9uJbhXMln9OH6MfoTMCw17WK4k/JxaTN2gvGDGKxzbCIGXnqODuC9dVnxk7nUwhEJHlLhzUE40QYbSnBC4aPUK7Qt6F7hZyZZBAZIRWR4HKJ26TIw6ACyBwDcubTn+fCbboGyJsQ18cDbWfwc5eaCJAvHuMVTni8HkIBQn4mG69jfJEsbHF0p54QmGNePdysH/CqhmJIBOFtqB1eSpzQ7ACWFEdokyJ/qArxkTccHBvMxk75KZ3KpzZMKk5CU6aHuggc5JO/ZKFO95RdcRVEOxvCzpsNtH92DhglsoNqsJ2tpj53MY9ChC8frvzpUDDYNi9dC72IWl03v+C4v8iUqK0fpcIZFcNzXhWlX783M44eiBT7/rumDKVMd34MawR9tpPIPQRQHfdF+CyyStJiglrbSp73m95CC1IQ10Tw7PGKq2E64RMhXuV27UFILvG/8C9l2Y23X3ybNnDzTJRPLZOuB7FLEVtQCvOvwVxOStO0JxE3tzKxTzyRQlq51u4aCUUUG4zy9LOGwDCxs+T9w8UZZdhIjQTJRrL41U9Up9x2HUHwe2MlThQjz3CXuPEPkARA9KtQRKBNnjcQkrelFKNS9nV8O2WFAnBpafuJnVw1KEz+C3PYkLuxXvGmN4ubBv7EyocO9kzR9iVokn9jjcOCtg8A1NMUQ3y6pDnqQulCzso5vyUOy+22QtyJs= X-MS-TrafficTypeDiagnostic: AM7PR01MB6564:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: aBEHYPDN6Lmg1EaRIHnFA1fUv/LnfEwxD9dls5sLT9C+cNsLPMlKyURpPqKxpq1r+poOIsV1YUcpltrkbNhAcVXlTogcWLd3nBplb2JiqwUKA0FD6GRE5iOZU+WJymjccUVpAwa61yOyRbXZu/RPehlmVumNJ8Kqiy80jbWld5fl1UZ/WpuQZ3YDGvvtlgGE2+s7ToX500c0UB1gbDiTP+OdpWNvhuMpAqWMs1uQm9U6CvyNvVz8GF3HpeA+GwXD6QrfGO3C7NAkPz/QjYqY4KHTYygcosN3AE0E4sjqmgWKw2Ukn2O3Pi4anAadid8QhbKj9fkr44tB0Toxtv8c9A3AUXArd2Pgq/WJkAVhRdmJBIOO7FqO/OMOQD+i943ByRM7FNdZbZjiZMb0p2hvuX4Af6+t0emIrXgtukoaFNE8L42goVP87sHyqL/B5Xgm7SUECy4DSchwzbMAqEWYu0e8Annn8qvSvBgJws/X/Js/NXFHPIQKSMPEIbL57ipzVI1kLzSifJX5cINt2sLRtBL+w4JOd8v4l5i4pn5es1kCfa/TRPjiODiH2ysiAi7fjvdGh0kfwmz7LlNu+rplAFqkrDeoJFHLINjXN+8Bg3qwt+YCqKrMVw57ICsBnb28g84uoY7VvW8ew0u8A64okQ== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: k4Kkxxmq1a4M+pTHoLTdoz4QevmBKu9c/5Pt0prBRP39Cc0AieKRyBUkg1/Kg31vOIiel7q4siSVT5+kiz1m6YNB6lT2Y1znwHnDbMy0hj5l8Sn3trv2ENty6pKP3ScRHsH2AVHAVnItvHyXpNsnxEY13mf7njLNGbHXEk1sMBxtCeExa3HJkaBLrP/+mHee0EWNQdaEZZuSPktCv+Vw8D/tQ7f/JgZ36J7BZtcQQG7Ae39MLQfsPJNFqmnb7OoXi2AKVE/tejZ/nSGJBkZN2kgE/ju6HHvNYcpG0FjCaHKt7r8y5L3KKYdtf4vwxSLgoBMNesMPES5TJZC3hq9ShjKX2I0FRDTHWDQLFOn5bpqL0lhGOGcyBD7ZMHGqjdzMu7DeYvmeRA/bMP5RD9pqJkQ56nAntGTnbcBYC0TE37T0xA1ai7wEN1UEPpuB3xhgVaGUaRZNRZ8WkUshhvxeUGAy+s9c8X2TelE048saazyD+0o3w7l3jnaLvSfu9+pxGQqnp65/5F+PsE8ayUVEL44sQKlw2Ly1x8Wjr3Kcj0HWoUTFiq5v4GZ69dMkSNznm2IO4lgvg2LIaijlG6j/fixUF7NXAQ4sPhFA96lrxHTpbfM7E67bhMTlyhNsXgOvpSFrZtjJZq1rJb/Uf/8lE7mNiABDPXM0xOD/esKjw7CKe4elbOXKaj3iyeQ8qGisfgjF2S1rzIXQ/A0XKQ9z12hpPAZF5RwsAbwYvd16m6wzU9b9m1aoQQA14fnq/a/1MqTzS3Thkr/eflgApvEZuiZQgekib588EnqyplDbYXeKORpdm1q+lvlYV/R6Y6TNxouDJs+PND6Wld2iRc1ZGv/AwTKYrIwDzd2t59nUE32I7T1zzr9yKVY4fPRucKqGFEfopBPjhMq2ifuu2wT8T5mFBlmvtaIFzwKbqAVpHXFCP1MX8S6XFZW9b7K5JsjwTw4lf//LtX151SbLVZIPAu4pJTSlrSAmqnDOe47BRzxcbkT08HdCbTezhAQralO341NRVVp2ET2MdWtzRFueLRK/M8W1SutiNxSCU2ZWGXFMJzSyTKM5Bzy0Ry1CWyVDsGuqB+CTMfb03p356peOiUQO9FbK8jZpEAiccnITHuzH7OwgqQxOG3dggUXcPc6cq9WbDt9IvT5E1XIoeovrw8OiJ+jaMwZe31crV2re1iOGdLcjbSYvuscsW9/P3m1nywoQTIPJKnSqEiua2xNrW3nWcyu2O3LcqTbL7Dsciba/BWL0deoAAsNzXfq3lNcU4w9XMuaegsekoBb+gvCvLhGkH468TJH0UlL25XcbBJ4ZBpPwN/zPbAPN/Xm5LNxDaM31Q1HPZdLyX/G6ve41fH82As8xGyi+l2TcW5/ABrv7kDWMSKzmLZUhVSzRW2WJG9rnSZTE7OcD/MPZuGEC40ywclf4GpaQyOQc0m5AQPLmYQbuqA1FYcStKL5SX1KYyiiSG1pxNKdySH8kBbU1Pw== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 09f97c3b-ce97-4804-70a7-08da32577728 X-MS-Exchange-CrossTenant-AuthSource: DB6PR0101MB2214.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 May 2022 07:34:07.1528 (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: AM7PR01MB6564 Subject: [FFmpeg-devel] [PATCH 3/3] avformat/internal: Hide BSF stuff only used by the core APIs 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 Cc: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: uV09bWQWkVqq The general demuxing API uses bitstream filters to extract extradata and the muxing API uses them in order to transform packets into the format desired by the target format. Therefore FFStream contains pointers to AVBSFContexts and lavf/internal.h includes lavc/bsf.h. Yet actually, only a few files files are supposed to use these, namely avformat.c, demux.c and mux.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 API themselves to include lavc/bsf.h directly instead of relying on indirect inclusions (a few other files also use the BSF API; they already abided by this). Of course, it also avoids unnecessary rebuilds when bsf.h changes. Signed-off-by: Andreas Rheinhardt --- libavformat/internal.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/libavformat/internal.h b/libavformat/internal.h index 5363c0c355..b6b8fbf56f 100644 --- a/libavformat/internal.h +++ b/libavformat/internal.h @@ -24,7 +24,6 @@ #include #include "libavcodec/avcodec.h" -#include "libavcodec/bsf.h" #include "libavcodec/packet_internal.h" #include "avformat.h" @@ -212,7 +211,7 @@ typedef struct FFStream { * - encoding: Set by muxer using ff_stream_add_bitstream_filter * - decoding: unused */ - AVBSFContext *bsfc; + struct AVBSFContext *bsfc; /** * Whether or not check_bitstream should still be run on each packet @@ -232,7 +231,7 @@ typedef struct FFStream { * inited=1/bsf=NULL signals that extracting is not possible (codec not * supported) */ struct { - AVBSFContext *bsf; + struct AVBSFContext *bsf; int inited; } extract_extradata;