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 4FE1B4AB31 for ; Wed, 12 Jun 2024 13:50:42 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5739468D935; Wed, 12 Jun 2024 16:50:20 +0300 (EEST) Received: from EUR02-DB5-obe.outbound.protection.outlook.com (mail-db5eur02olkn2085.outbound.protection.outlook.com [40.92.50.85]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id EA14368D91C for ; Wed, 12 Jun 2024 16:50:16 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fq8ABnCqkYi6lOl4RaPtwpPgYneSrnIzNVxUj9+ukbRATBdmik1k9T6l8eprLKeVX/FkL0d9qSaqL2YhLeoVSB//TuZNQR5Hk7GdS/fuzHmjFNKo4gLPNzKAHs+pfEYHW1/DDHVIxQBkPLoPTbCPeKMLLkHu5mZVz1VECyHNEJKEtNMHjn21uWX9UHRO6v+0ME8UIEB8f7sUYanyq2itQSvCtGOxNHh7U72Px7U+NPXOsBvKmzR8KL3iyGsFfd3FSeaSPDqGrJ+5oWrdcAwGXkmR4dCP6zX5pEnEUq5BJhwvVc0t8VY4Q7/ZuVKDz/IWAaz2hCIiX70Xs02Y3HBfnA== 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=uuisXlygUv+HAQl2J1v/5T4MXsXOwauWoYHLB58dXfw=; b=JMLPdAG9jqj91JrweCaBrkbmVFcA1u65XuFZCvOBsvtDqim4CDdoXFgDnH+A/xGk677Ihc0p2Wg9E+xLeZtZ0w7L3zQ3BmLDn2HOmJvNYsRyyaSC3R7bm0EaA4YxsuCR4CVm5MYW08jJoRzIf3g19OlU6cuoKx/jcna/X635/WfEZTg9WjIcUMnJorIofSZOmTIqOZUWzAOg8/T8Hh+U3DJcOtGsFcQnR4yGGEniIHczBBCZ5P+6PKFwssginWZXVGDfXb5nzeUi7nmOjVqZD6xiELWcGKhCs908wph8EGJiQchQ1Qb9nOZtqKv6xLQeKMfpQUd2Muggx2mIvxtypw== 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=uuisXlygUv+HAQl2J1v/5T4MXsXOwauWoYHLB58dXfw=; b=JybosVSTWmKDpeMjdn8qLM1o2oSjII+oruJ8mN8BNcLUDsB4+POMq5hxmThJEQmsodkPkFIPbTF+7/2pu8zqE3VulVB3Ky+aqcCT81J12rMZyBBQlGqcTa52yjNdkEYIpZKeDCtS3r68ocuDhiCBpCV94ybDcsY9GXfuLIt7eEhvqlV5b7DeVwRHazo+1CLipgPvm/fiemWVNnCyJarWyXKy3JUfZvAe5+a1UuIXlm2aADiSbSwU/zHdYH4N8ebko4SM9+no1A4yyz4dwykoINjvNlXCC2+bESZ6Z+PflCmXX2kpohQS/g1ezLnpSsrBaeZiWelQHtEkUzOcKue0YQ== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by AS8P250MB0054.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:359::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.37; Wed, 12 Jun 2024 13:50:11 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::d6a1:e3af:a5f1:b614]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::d6a1:e3af:a5f1:b614%3]) with mapi id 15.20.7633.036; Wed, 12 Jun 2024 13:50:11 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 12 Jun 2024 15:48:03 +0200 Message-ID: X-Mailer: git-send-email 2.40.1 In-Reply-To: References: X-TMN: [Tp2cVufxkAHB7vTKJWdWdCjxBqGkQmP4lBNmT/qcZtY=] X-ClientProxiedBy: ZR0P278CA0189.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:44::6) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <20240612134853.2102377-6-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|AS8P250MB0054:EE_ X-MS-Office365-Filtering-Correlation-Id: f484900a-767d-447c-f860-08dc8ae693e3 X-Microsoft-Antispam: BCL:0; ARA:14566002|461199020|440099020|3412199017|1710799020; X-Microsoft-Antispam-Message-Info: 4mX+2ofehN9AKcmlH+X/7fKF3GM50tERBRrHZ8aOHpVP41ichn+uV5LZJLokbmCb/p2H+snlfJ8wCcMGp0CXGfNuNU4DOTSdmrDrHgEL+EqEDv1wwOISlGw06ZBtCs5FmY1M8o6rfieE/0vc2EFZrJr0HdrCxGWIGPu1fgLPEKB/qmrEpLDWz2ICHJiaRhxR0AmOGGIhOG81BVxsLRvUJ44r+Zhl5gfH90QBX3i766aId3D+XKQvgRxwuea8vUZnWd8T+ynYkdV8918CKqbOvNZSbB3RFFDKmLgmtM3EmeIKqY9WjhIEwjiJAQIC7SVghSs5NzENjEa2PU90dJxuHXa0PCorEvzGShQ9ZVV7E+eqVkGxGJmWNFJzeA3aM5UhLDmrNazMObAuDeRcwcQiOftf6QvT/b+IBOn3h7djeOkdPIkyv3pMAGDyyM2+NaX7JtQUtromxYv2+ZzZmrg4eb/01zHqCrB18PhdsEQk4DqA2NMHk6dncvYNTaSF+iyd9UfSZ45ZZ0jy57B3Ji3X7/0gmu6Qx0sVTssmBoQcfpmKWK+hBx+B6Skyp9ly3pxmSAm66EvhqztF2EnKywi12j7pomq647GKOj8i4QQPgiYU9G4QrXrd409UiErDwGak X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?nydW2OYGHdaBjziYk8pBlbFz7XvU1dMriPlr2zOSFiWqVUlxGKDwP4Vuhn4D?= =?us-ascii?Q?eEbqgaZSfBo5AYlq5yHlDYG42G07RhZ/2b8T21EX3sy0/Nl2d1NSqBeeALXo?= =?us-ascii?Q?pkJYfNWI1RiIPjfQQd6xk87n+CKY+eK4fu7ukwS1sia9wGelcOlofcmhbBSp?= =?us-ascii?Q?7jvfXcz1zx/wK3WFroGmYLcWe3CIBTgPc5gxetHfLAoIAvftNUDanKfxe8Ff?= =?us-ascii?Q?pg3DXP8sqFZHuLkAVClCnuzVcCdDPXBOkwvHdzISnke2eCmGpR/PHY7uUQjx?= =?us-ascii?Q?kQvo7FtMoIjq2s35KIS79SErUZHZO37W/M6eQ7YY703MWJlv/dacpAhSUyVa?= =?us-ascii?Q?UbqJCAKQBpZe9XpNKg6WpgvjVrXMX6ppnQDK+y1bzxlzrcIZW85t/sPDoCbD?= =?us-ascii?Q?NeXsIafIfYLI62ah+qMzKWmROa9KaA599pdxm5WlKETaBEfRFryuI+JGIeqR?= =?us-ascii?Q?4Rc8xeKVE5zwimkmr/7mCSTU6ixh8pnyWC8OWb0rD4tCpjUizbCVGAn4nyLg?= =?us-ascii?Q?mLg5T1xwcs6I/aOAXsLJ9l59BAm4aRhs09U8hEPc+4IIIdE8HMcrEwV9RJA3?= =?us-ascii?Q?MGQzLnPRk+YSiIlLfheWSGJZzmbsMvfNFFgErQaKpdrcyDs4Qd0NdPoY0tnL?= =?us-ascii?Q?l2VU60mE24/9+BH1M7Uz6ukLaTIIg0rcEbpolPBrgOeDnMZ5VW85Yl232hzn?= =?us-ascii?Q?9/mwqZXvtcXQPcUmQzZVg6GLgZ3UvXQlxbCYNdbP2fZIxms/HAMofNM9s43O?= =?us-ascii?Q?9SZTHzNVqJxl+R0jeNI51Tipf39NpHJ3C48QNAjQfXukiXZ6EUbr1B5MvoVz?= =?us-ascii?Q?uFqhl+EFjo7Mo6Byz3w+oATzc6OQqK34kPu7AvIVyN7uBKc4bNZXqHRHHlM7?= =?us-ascii?Q?3XQtguCFM+TlM80Ij1HsQwTgSaakGiALFnIWCLQ/GMBTQmlrNSIOnyUBTNo+?= =?us-ascii?Q?3/dIO1HF/Y+mF4uxaYYsDnHBeW5Ok3IvW/UCwwOsEKOaoB6pZKH0rL9lWwI0?= =?us-ascii?Q?Y85BW/gepXK2Ko8vmGRbh8qUI+Z4gybzRwviL70QxbpAAfmVHpC4i7zeC3w4?= =?us-ascii?Q?1SNTlLFCBm0eQfEQHNGjR7k+fdNPBi7pnkXybMfuDfVbh4fQ1ZEr9H1wnApm?= =?us-ascii?Q?Yt3IM9/he20g7yoFNWi3vlpwR+sid1SGUg7CrSBA0oTLvUql/szwa3bZddc2?= =?us-ascii?Q?QmEJGu0jgFPJ7S8ARgw0Zg23zX4LiiJm7IUysdAdkRH4IvC0F8c5o/WrnGhO?= =?us-ascii?Q?fCtB0G7L/aZzqfANGyoz4AbN6h7VlzYZ2s+24HFCCQ=3D=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f484900a-767d-447c-f860-08dc8ae693e3 X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jun 2024 13:50:10.9715 (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: AS8P250MB0054 Subject: [FFmpeg-devel] [PATCH 07/57] avcodec/mpegutils: Remap MB_TYPE_ACPRED, add codec-specific MB_TYPE 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 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: MB_TYPE_ACPRED is currently reused for MB_TYPE_REF0 by H.264, so that the value fits into an uint16_t. Given that MB_TYPE_ACPRED is not subject to any such restriction (apart from fitting into 32bits), it can be remapped to a hithereto unused bit. The then available bit will be declared to be codec-specific (i.e. unused by generic code), so that H.264 can use it for MB_TYPE_REF0 and so that it can be reused later for e.g. MB_TYPE_H261_FIL. Signed-off-by: Andreas Rheinhardt --- libavcodec/h264_parse.h | 2 +- libavcodec/mpegutils.c | 2 +- libavcodec/mpegutils.h | 5 ++++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/libavcodec/h264_parse.h b/libavcodec/h264_parse.h index 4ee863df66..3481451c10 100644 --- a/libavcodec/h264_parse.h +++ b/libavcodec/h264_parse.h @@ -33,7 +33,7 @@ #include "get_bits.h" #include "h264_ps.h" -#define MB_TYPE_REF0 MB_TYPE_ACPRED // dirty but it fits in 16 bit +#define MB_TYPE_REF0 MB_TYPE_CODEC_SPECIFIC #define MB_TYPE_8x8DCT 0x01000000 // This table must be here because scan8[constant] must be known at compiletime diff --git a/libavcodec/mpegutils.c b/libavcodec/mpegutils.c index 92ebdd3a98..4b1bcaa995 100644 --- a/libavcodec/mpegutils.c +++ b/libavcodec/mpegutils.c @@ -109,7 +109,7 @@ static char get_type_mv_char(int mb_type) // Type & MV direction if (IS_PCM(mb_type)) return 'P'; - else if (IS_INTRA(mb_type) && IS_ACPRED(mb_type)) + else if (IS_ACPRED(mb_type)) return 'A'; else if (IS_INTRA4x4(mb_type)) return 'i'; diff --git a/libavcodec/mpegutils.h b/libavcodec/mpegutils.h index 3da1e7ed38..0cca4f0a2f 100644 --- a/libavcodec/mpegutils.h +++ b/libavcodec/mpegutils.h @@ -45,7 +45,6 @@ #define MB_TYPE_8x8 (1 << 6) #define MB_TYPE_INTERLACED (1 << 7) #define MB_TYPE_DIRECT2 (1 << 8) // FIXME -#define MB_TYPE_ACPRED (1 << 9) #define MB_TYPE_GMC (1 << 10) #define MB_TYPE_SKIP (1 << 11) #define MB_TYPE_P0L0 (1 << 12) @@ -57,9 +56,13 @@ #define MB_TYPE_L0L1 (MB_TYPE_L0 | MB_TYPE_L1) #define MB_TYPE_QUANT (1 << 16) #define MB_TYPE_CBP (1 << 17) +#define MB_TYPE_ACPRED (1 << 18) #define MB_TYPE_INTRA MB_TYPE_INTRA4x4 // default mb_type if there is just one type +// The following MB-type can be used by each codec as it sees fit. +#define MB_TYPE_CODEC_SPECIFIC (1 << 9) + #define IS_INTRA4x4(a) ((a) & MB_TYPE_INTRA4x4) #define IS_INTRA16x16(a) ((a) & MB_TYPE_INTRA16x16) #define IS_PCM(a) ((a) & MB_TYPE_INTRA_PCM) -- 2.40.1 _______________________________________________ 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".