From patchwork Wed Aug 4 16:21:42 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 29246 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:6c0f:0:0:0:0:0 with SMTP id a15csp3518851ioh; Wed, 4 Aug 2021 09:22:41 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzu9rGmf0Q/vgwZLhTg7Y6YpbCftSEdsxMNuqEpQlVHOqMLNIX/uceI/B+1YuWKAVFgVMRX X-Received: by 2002:aa7:cc83:: with SMTP id p3mr621671edt.365.1628094160961; Wed, 04 Aug 2021 09:22:40 -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 y9si2358700ejr.518.2021.08.04.09.22.40; Wed, 04 Aug 2021 09:22:40 -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=AWY0tWXm; 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 9140B68A1BB; Wed, 4 Aug 2021 19:22:33 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-oln040092064090.outbound.protection.outlook.com [40.92.64.90]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4EF4668834D for ; Wed, 4 Aug 2021 19:22:27 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MpnZKeYDw4iwgX6skV0Urkr5TE55OZbFtD+Wnln0xGFvtNQUut5fr5FsxGeEwP+i/IVS1wlUUlP/R0rIwyESEZ7jy1FWFSLAA5psXcP7QC0HaTfRHvdIE9VtxGiJx+S6un3Yul/0Gars0a64tL4DRBdNhO2n139bFiq4urlYwTLCnG3vk2XwLIGR4EP2pNMFnws7Md64Up2Canz1tQOVcN0q2CR7BUytax8zfNI90pdrXfC85WRpEmnRoWdxlH6qfLwLH5OpM2vxGAK9AMeVWY20hRSGNkRIicEHeIaXKFj9xOhS+E6UAIWMSWJdj03dqFTQkw6zAsBrAN2SP+QThg== 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-SenderADCheck; bh=m0pJCOmnqC+QVwGT6m/gjiQmXX4i8GBeucireD9px2A=; b=Ds3L8C+cEVU0Ib7U2h6WqSsD/K4n/FBcCRQT/XcjDuV5AVjD88GdgsYrkFF1l/QIFlU7bl1cq9gc2YCdGv1lx+ZrxPkktVnwh7OiYnO0vhpGbFtt04+RBKBVPiXGcM9pEHVbEyTLw0zQJ8hNO1YYpCzEncQ/1KYLoY0O8Pp2hmbDDSFAYLHHibMxSz2konKCtoKlw6yW8qtHJ8XUHSNW86uoPVeRnTBiIZDFO0BSVcvUa+Y8hd6EY+r9pEZEaymiQ2Om3GRFjS5YSb34BE25DbL/xcT6InqKYFpo25a8SEGRXy3PoO6GDPr0Lh8+rM7z6Z1qPl8AB2v2u/J9DFlt4A== 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=m0pJCOmnqC+QVwGT6m/gjiQmXX4i8GBeucireD9px2A=; b=AWY0tWXmnKgSltf19IWEMdFze/2b3knqhfnB9mKTezIIxEWpjUv5RhtSwckEKUDdmeVJUev2tinl1WQK5wpPoChVqnhfO9ZrrtnK4JrjBBsKy+K0koiqeK2z++lI0BagagQeTSFARSzOkaR8O7ZdLj8dr2YZ14Jl0DdIC0tYtL7agLTym2x5WUymLsOp3Ou59bL9lblrU5jKAZC6JXhNJ7RSt0+P8+GqYMspRhFp3vOOdoI0S5D7HamHuUYXcPe0rprZPqCVtrQEYvWgqq++RitOWIi5HZqTaJsIfLeKLugpz10/oSChAKlEjGONBskE7wGwLpK1Yxpsb7szxI61Mg== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB3685.eurprd03.prod.outlook.com (2603:10a6:209:33::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.25; Wed, 4 Aug 2021 16:22:21 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::c9b2:14f8:d555:6f2d]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::c9b2:14f8:d555:6f2d%8]) with mapi id 15.20.4373.026; Wed, 4 Aug 2021 16:22:21 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 4 Aug 2021 18:21:42 +0200 Message-ID: X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210804162143.1793548-1-andreas.rheinhardt@outlook.com> References: <20210804162143.1793548-1-andreas.rheinhardt@outlook.com> X-TMN: [GGecsVosq7+owuil7U6ir4yiByzD6i0A] X-ClientProxiedBy: AM4PR0902CA0018.eurprd09.prod.outlook.com (2603:10a6:200:9b::28) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20210804162143.1793548-3-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sblaptop.fritz.box (188.192.94.230) by AM4PR0902CA0018.eurprd09.prod.outlook.com (2603:10a6:200:9b::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.16 via Frontend Transport; Wed, 4 Aug 2021 16:22:21 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c610caed-6697-4321-919e-08d95764094f X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNW/g7RXT9bbJyQEkjcBzwXk/Z1regbuLT8WU5mFe/hQ26tMR/NANdBqB8f8U/3e0LdTQCdZ0eGaKZiTq9bztVuC140AgBZfWS19s93vz4vhYcgp+zkWX44c7nzOZsXEkz6D30rnWJby3ZRDWcSOtUP7fUo98qLJS/9KiPo4mEEK53f9SkXWNmBw5ezj754AQSfYi9ppV8w9+dcuexDtLmOE7Wiq8ZTkVEkNlFvYYAby+oFKIA/CbBy4ozlr5HaBGlf/zRjPXGBfmZdZXdQ/1Ix5rSnOV0wrIJKiL1s4qG4XZEExRxZyVqpwdP8rHn1ic2k/gHqGcLMY7UtL0yNhBQkd97jJW27+ATDjcqPUHinX6dJnER9rpMjL4Vuq5FBxBpbsaFD6jNw4O9PW/S99mFl5ik1YGQfsWz/MbZaxMQgdHids6E0PkI3/OIucYLAR8PBohs17FN3in51328tiV7j9i2Ac9OwpqAG0/p5GekqGTIqJqjXXn1yxcCEuDUfpX9Q798UZWit/F0sWkcq4i/ZM5ojqYX9hMgLp55NttfbZemGixbJJDaZRN7mjW3DiCV4mHVqvZEK7NW4X5zfjXDD1U980kCf2oIMYun9qc3JCR69uRCDbyQrFIOOhmhqZaX5QSKQkgao1D+KDQlA6/XrMSlpil+2wddw1v3aqhIwDhJFremFBGdKviBr5yfKcAClKwyrO2e8O+50+sUoa5trvdvvE87khRaQ= X-MS-TrafficTypeDiagnostic: AM6PR03MB3685: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: i7TmxA+mRoU+5Wx/b2sM8cCycfDwGJtx/hGTYvxwpOjfZWjAFn++6tcM4fl762GcZm2FJtTG0MYDfy8F760yVrlUcnlS/ABt6MiUZopYU2OsYb7YUNhvc5sOjAyEJ6oIqZhI5GXJ7RzOtwSknapHlO8poG8BspwLm6+w7oM+no1S/ot0VixcQDVERdeOlkPKUZGf4sJtfUkQWhdoBiwipa+r9SOJjif1jenmdfHbWmZ7hZM/40+YBd9LFtGeBzpecAFinZQamp0sBqqnLJSULgRJKtXvv7U3GiO8Dtq3Kt+XlokrZDnpOIlSGf3HiWrWNp84nWyGqQPM8CkfSe22rURsK0U5LSnoMGYUt4bKGe/C9LZffrZo0zUYwRAegsbNDsfbP4PWRkIeQPcU8OoT5jOJaT4Tu0R5EF3KDbt0qHHn4vsALx+6tMmNZf93xnFZ X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: tdDkG2p9pKLUoyf0hXlXVV9KrCoiT5+GWsAE9opYvU1jAwdT5PiNtECj6i4eVOnV31GNhFXF6EMobf/iBsavRxMn6AM0a22HGdStyi0YM7i/BGLM0tlA0oUeI47wuLNh7bTqIBj0GJWTXA8R3pcmkQ== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c610caed-6697-4321-919e-08d95764094f X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2021 16:22:21.6342 (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: AM6PR03MB3685 Subject: [FFmpeg-devel] [PATCH 3/4] avcodec/codec: Reorder elements to make AVCodec smaller 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: FOSU03ab9X9+ Reordering max_lowres is an ABI break. Signed-off-by: Andreas Rheinhardt --- libavcodec/codec.h | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/libavcodec/codec.h b/libavcodec/codec.h index cedd106953..8f12705066 100644 --- a/libavcodec/codec.h +++ b/libavcodec/codec.h @@ -214,12 +214,12 @@ typedef struct AVCodec { * see AV_CODEC_CAP_* */ int capabilities; + uint8_t max_lowres; ///< maximum value for lowres supported by the decoder const AVRational *supported_framerates; ///< array of supported framerates, or NULL if any, array is terminated by {0,0} const enum AVPixelFormat *pix_fmts; ///< array of supported pixel formats, or NULL if unknown, array is terminated by -1 const int *supported_samplerates; ///< array of supported audio samplerates, or NULL if unknown, array is terminated by 0 const enum AVSampleFormat *sample_fmts; ///< array of supported sample formats, or NULL if unknown, array is terminated by -1 const uint64_t *channel_layouts; ///< array of support channel layouts, or NULL if unknown. array is terminated by 0 - uint8_t max_lowres; ///< maximum value for lowres supported by the decoder const AVClass *priv_class; ///< AVClass for the private context const AVProfile *profiles; ///< array of recognized profiles, or NULL if unknown, array is terminated by {FF_PROFILE_UNKNOWN} @@ -242,6 +242,12 @@ typedef struct AVCodec { * New public fields should be added right above. ***************************************************************** */ + /** + * Internal codec capabilities. + * See FF_CODEC_CAP_* in internal.h + */ + int caps_internal; + int priv_data_size; /** * @name Frame-level threading support functions @@ -323,11 +329,6 @@ typedef struct AVCodec { * Will be called when seeking */ void (*flush)(struct AVCodecContext *); - /** - * Internal codec capabilities. - * See FF_CODEC_CAP_* in internal.h - */ - int caps_internal; /** * Decoding only, a comma-separated list of bitstream filters to apply to