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 B641F44BFE for ; Fri, 11 Aug 2023 10:42:40 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1086468C7C9; Fri, 11 Aug 2023 13:42:36 +0300 (EEST) Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03olkn2081.outbound.protection.outlook.com [40.92.58.81]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E5D0D68C782 for ; Fri, 11 Aug 2023 13:42:29 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lDB3Rwh+UsWbqEYGgqSR9mxVrZ8fFW2c6Lqj/IWBxxEuzodi9mvlyKNJ4UwUJ8VJjwLmLiuzT3Q9s9mf+Ois38uQILCu3WuEThqbbpS2EH6fqG1eHw9xkG9qXbPsdhDNAsilcEdU6fC7GFeEF5x+H3bnzBbGlZHSkjhDimtSingSkX23DIR2/E2eeZQjp6iuuh/KB0dcARdcBUovLlMG1xrU8u6F+V1v9+LXQ2z3ZEt03+l70P0m2XCIsCkDDUasZSD3QLyBIDpCWyyx0laHKlxQDXVJigO9vFKiQ47kpMG4swzKRl7oFnOPOsL1shNlyKM16M8GfktSrQbWAtbfPg== 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=SRashx3xi5o7WcqBAgHduiHHpHhvc6JL4gSQqdglRjo=; b=ce3VJX1TP+a91vsX4yEFj6mBuS13lOVT0phxwRdHrjrPlSfvFK8coXb4tN130dZtplW9uhsqvwMn/RjcsAc6BLhpiUwb8YYiBDVAedWdrKD4ydz7ijJ/PuqWqogc9qxonG1NWPYOcxD5yewmFkQ6FtXyfpv6c+8EQ+o46y/s+7f5S7LdfzDbfRDToqWgQoPF2oSVU5+Rash2mND7aq17cqZZmfHDyKcceHEXUuAn+jmUgCmAFcmxeXVJ7UypWaduPClAspTyQQ6OPK4bVkVO9FKzd6rNAozrODKK2PiqHxOVO+QEvkl1a5vr2ujQh0ibQTBFV0i5OCisBl1YjPLQfg== 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=SRashx3xi5o7WcqBAgHduiHHpHhvc6JL4gSQqdglRjo=; b=vTNtAKLXWpY8JlAoKkC/sMBECM7bqfrnq9TurP1iROGANOa6URhW/zf1R9B1FS/S0YROm0Iw3eqkKKTrcIBpxsR2QH9X4Zl/EhaD8P5rjVCboy/SJgpObzt3cATUphSkZfFEujd//GKeG4HA9k9jSUscaTt3b30+djhdFOoa+kp0BGhH/yNjuABiRq9XOEa7sesiodXn4z9IfI6u7a8L7vfBDJoroU0eJVDy+dtEJLcLVEBsDMXGzfu8dSlNIuvSIM9KmOJKfPGvR4LwuJcAP+n7krSHE4XXYz5xupBSM7NbNaKGbelwM9CQUyiwkKVelZ+ZRtyyJA/VZdBGt0bBCA== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by PR3P250MB0273.EURP250.PROD.OUTLOOK.COM (2603:10a6:102:17c::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Fri, 11 Aug 2023 10:42:29 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::5e01:aea5:d3a8:cafa]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::5e01:aea5:d3a8:cafa%3]) with mapi id 15.20.6652.029; Fri, 11 Aug 2023 10:42:28 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 11 Aug 2023 12:43:22 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [c+EeqjiaUp4WI6gfmx0J4kkNQtI/lv03McNzh3J9lH8=] X-ClientProxiedBy: ZR2P278CA0021.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:46::17) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20230811104328.2278289-2-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|PR3P250MB0273:EE_ X-MS-Office365-Filtering-Correlation-Id: 153c72bb-5462-48eb-e61f-08db9a57a86a X-MS-Exchange-SLBlob-MailProps: AZnQBsB9XmpEPU/wJLY7hod/UA3ILpuOyyvtXt5I/T6WsjtvQhzQaK9wZC42rgjkqV/yfUbogRgPXqXW4v38Fz/z7qT7MRImlywyUsEiFUyvxrF55/LcyjuCtuGFlWs/omKlhqZIIqYgTqkeewyalFLVapHC26LDf9a3wnOj54/AYa5ChFuuQ+0XGC4+liIwI6QnFX/ZHaHL2vHnI4lHyiqL8xJaJgYthg3h3zbIITInqQ8mK4u4A27xsmntszj0tTwYw6usNmKSNUZWBau7aICnoYAsPRSCgyV+r3aRFqPlQSZhV/kU2u+gMU6m8LhpPU58EAycBCqnIhEwrKakOYN0PNzuKirNwZyGYKTYJLOMSYliQcR4WXecRSCL8/dUPu3HfLJt0CbINVnoaEYBSBdNn0K3JeD7M6yxtjda0tppYgUzNo7v90M2pOPQjThMWhfqRS/YOg9SfqySdPbPwGTGbc12I6XmeDGKrGdhKTp3FZ+I4JBFItcMCl32X0sSKg/S1NATHVAofefBPxYgOOcBxZDsz2pfuv9CET48mQ83aE1AE+J0CuQZTG6U7FbGooSlTRnHzeMimhgbX+NSJgz/3fBL5WiCzoXjv+KfSl/2wWiIzWVpsjncgC0fdd2LYswNBYip3Ze6cXQPy41rnncL6G/2zCToH7x0bca0LYcYNCxbdnR9hpAwUXOVyCFP5M4dByI6fHeCMPLaXuH8VcbFpw8unn7YwvDBju+MM6Corc0i8fRuna6LT85FupuCSDC8cYasKog= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: XiydwpWRFCtDGrchqCERa/raZjDd+G08z8FFI+Xwd0/c5NxYAh/VNzdHK3LLnISlYq6e/6SUuwQUEYUvd/fxnFf++1aok7Xn8JzKKqcRDzrk3kVxj+3hG2o6qMRlzvt0v7Owxe602oyLHT4yBJR6y8kFwXTwRtU7MfzLhgauoyE2kLenUywf0UzofZ64aEgbWxNbyPP76kOdpcVicWKz7FDI6TT7xqq4Llh34Q/tP4Mm0qpxefY3v8870DfDAwxbfdktX9e3BJ2QE7ooKsg5edW2/5n13LeTGp9qA1nf/9qbRPIk6O8DhBtdVUq9JY4KuFub9gkdJOvK4G6LdWpx18mLOhAJCOGia7/7hLB32Bg6m94NqTmABlx1fA4250AzPD0keoXn8d+Lp3aNqyQBB4+mozD/llo/lJ1akZ7QevXC7gpbMaLLmfw2jd7VHA2NGNPEhlRfqw+Pc0RDqggZjblGn5l64BQdWPYauzfvQIo10SY915DjGUeib0WnuF3xzvGcFB/y4qXZbe8XFsNEJ4my99Lp1inDoigQXoaoUDmgRkmdX7moltuC0qq3v/S1JLy6/un2fEeiwSGB1X45LEzOUlwrAKSqB8kC2h/QPZY+qfKNaWvNuUYnsHki3fph X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?v8mYbgwQKv9Lu3XKOZKsq/ct/kCjmT8QTuNzxwm5aI2MfznSVcm4lFoC7rFI?= =?us-ascii?Q?VoWnPWqfCSZkasMhqw+n0jTF+S87UuhfanPcMVbynssg+uztrxf+77vC8bZ0?= =?us-ascii?Q?/RFdiq8fOS2015irtNPsem4jUpmq2FRk6cYgScf2k8+p8TEcZNesDIiEzHyS?= =?us-ascii?Q?7md46fPqqHsRtbWnL1YpSrZ6qjtPU87ytRkDpuWd/fbd/uhAqFnqSJfUhkQK?= =?us-ascii?Q?Tf49djpI0dnzNn1sayO/sPUpsRAfc66p/Hh52jVeu0fkDtsl+EihX/AmXmtd?= =?us-ascii?Q?7B5XXTqeCEReLX3kYEU0YlPC/aJbkvwtq6EcMPqaq6aQI0bsUTYAHE7nqRO/?= =?us-ascii?Q?eqUE434r5xsNGkWn3Qjtz8jPIZP5QOZtCktbgqHVGYoky+xg96lCfLIz8Zdh?= =?us-ascii?Q?3EfA016utV3beBewZxJXLZ7+ipeJLkRsnRglLhPGk2daqVoenN1x/llEQFFS?= =?us-ascii?Q?LsZB5pTFdcTRBno2MpNPSK/v6AbX0qeprmIVP3nstuTy1IlUAAS1+j5B7UfN?= =?us-ascii?Q?ZRQciQd2f1P1NmK2gSJON55d8EqUA7RWAY82sgrZVwMTVqR+HR7gpSaZrJ3A?= =?us-ascii?Q?7M0t9ZRn11DEtKAy7JII6Q9sJtEpSsebhg9apmWHe6ZHng9xrypadPlm407+?= =?us-ascii?Q?kcjZEIFx6VLJdZI5qCrvlszKCsQ+Pd9DjXDyNHvJU8h3pHB1q4PD3rkd63Zl?= =?us-ascii?Q?LGkKOKYI9SG+QP1u5gXke20v6YDKD8jYetJOnkxCZtBndbtfuyQIImxWY+My?= =?us-ascii?Q?ZaU370iIwhIzHomQAJKC6f2WE2SM1ccjq0vQlRRnejt1mywwIzvxqdTYefEt?= =?us-ascii?Q?F0dFb7f3X2DV/tB6fAN+k3z2RZhlFvxG/CJQWsOvrwcugPfzWEnmXtfdEHHu?= =?us-ascii?Q?DgTg0tqGMVTIaaT692T/M/2L3ialJzyohJZGW4sY2DuWu6atRE5TJrOGJpeW?= =?us-ascii?Q?y4r8yhYxg581KMZNOR3sBia83Fm3qGk/D/npFLLQzcKTSDx9uP8AzGF3wzPr?= =?us-ascii?Q?C7qyhF2qXEu+Zy+m3yMA2Cfn73rGxfNHOjHbA/bwCHXVFg4lGYuIghcr/3yF?= =?us-ascii?Q?3UQT7QSzKKak8BrBa97v9EZUkbnhLEs9GH25E9/kaDmuVI+AHOp9xNanQg+z?= =?us-ascii?Q?hje5HNz7sPtTl3IT8KLE1fGISZDE1R9BB46k71kYldcJJSh4SUqAk6I7aiVe?= =?us-ascii?Q?x37mmSxfYBIlHpvPDv2yBkdkHDQqcn3Rk9zHmrOdIFNl/DYoD0VsbY1NGF6M?= =?us-ascii?Q?Vy1AMVmfW4SeZDG6bOny?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 153c72bb-5462-48eb-e61f-08db9a57a86a X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2023 10:42:28.3671 (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: PR3P250MB0273 Subject: [FFmpeg-devel] [PATCH 3/9] avformat/matroska: Add macro for stereomode<->AVStereo3D correspondence 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: It will allow to create tables for easy conversion from AVStereo3D to stereomode and back again as well as derive the properties of a given stereomode. Signed-off-by: Andreas Rheinhardt --- libavformat/matroska.h | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/libavformat/matroska.h b/libavformat/matroska.h index c5b5a4b310..3a1ee740ce 100644 --- a/libavformat/matroska.h +++ b/libavformat/matroska.h @@ -386,6 +386,43 @@ typedef struct CodecTags{ extern const CodecTags ff_mkv_codec_tags[]; extern const CodecTags ff_webm_codec_tags[]; extern const AVMetadataConv ff_mkv_metadata_conv[]; + +/* The following macro contains all the information about which + * MATROSKA_VIDEO_STEREOMODE_TYPE_* correspond to which AVStereo3D + * structures and also the relevant horizontal/vertical divisors + * as well as WebM compatibility. + * + * MAP and MKV_ONLY are macros to be provided by the user. + * MAP(MatroskaVideoStereoModeType, AVStereo3DType, AV_STEREO3D_FLAG_*, + * HALF_WIDTH, HALF_HEIGHT, WebM-compatibility) + * is for the stereo modes that have a Stereo3D counterpart. + * MKV_ONLY(MatroskaVideoStereoModeType, HALF_WIDTH, HALF_HEIGHT, WebM) + * is for those that don't have a Stereo3D counterpart. + * */ +#define STEREOMODE_STEREO3D_MAPPING(MAP, MKV_ONLY) \ + MAP(MATROSKA_VIDEO_STEREOMODE_TYPE_MONO, AV_STEREO3D_2D, 0, 0, 0, 1) \ + MAP(MATROSKA_VIDEO_STEREOMODE_TYPE_LEFT_RIGHT, AV_STEREO3D_SIDEBYSIDE, 0, 1, 0, 1) \ + MAP(MATROSKA_VIDEO_STEREOMODE_TYPE_BOTTOM_TOP, AV_STEREO3D_TOPBOTTOM, \ + AV_STEREO3D_FLAG_INVERT, 0, 1, 1) \ + MAP(MATROSKA_VIDEO_STEREOMODE_TYPE_TOP_BOTTOM, AV_STEREO3D_TOPBOTTOM, 0, 0, 1, 1) \ + MAP(MATROSKA_VIDEO_STEREOMODE_TYPE_CHECKERBOARD_RL, AV_STEREO3D_CHECKERBOARD, \ + AV_STEREO3D_FLAG_INVERT, 0, 0, 0) \ + MAP(MATROSKA_VIDEO_STEREOMODE_TYPE_CHECKERBOARD_LR, AV_STEREO3D_CHECKERBOARD, 0, 0, 0, 0) \ + MAP(MATROSKA_VIDEO_STEREOMODE_TYPE_ROW_INTERLEAVED_RL, AV_STEREO3D_LINES, \ + AV_STEREO3D_FLAG_INVERT, 0, 1, 0) \ + MAP(MATROSKA_VIDEO_STEREOMODE_TYPE_ROW_INTERLEAVED_LR, AV_STEREO3D_LINES, 0, 0, 1, 0) \ + MAP(MATROSKA_VIDEO_STEREOMODE_TYPE_COL_INTERLEAVED_RL, AV_STEREO3D_COLUMNS, \ + AV_STEREO3D_FLAG_INVERT, 1, 0, 0) \ + MAP(MATROSKA_VIDEO_STEREOMODE_TYPE_COL_INTERLEAVED_LR, AV_STEREO3D_COLUMNS, 0, 1, 0, 0) \ + MKV_ONLY(MATROSKA_VIDEO_STEREOMODE_TYPE_ANAGLYPH_CYAN_RED, 0, 0, 0) \ + MAP(MATROSKA_VIDEO_STEREOMODE_TYPE_RIGHT_LEFT, AV_STEREO3D_SIDEBYSIDE, \ + AV_STEREO3D_FLAG_INVERT, 1, 0, 1) \ + MKV_ONLY(MATROSKA_VIDEO_STEREOMODE_TYPE_ANAGLYPH_GREEN_MAG, 0, 0, 0) \ + MAP(MATROSKA_VIDEO_STEREOMODE_TYPE_BOTH_EYES_BLOCK_LR, AV_STEREO3D_FRAMESEQUENCE, \ + 0, 0, 0, 0) \ + MAP(MATROSKA_VIDEO_STEREOMODE_TYPE_BOTH_EYES_BLOCK_RL, AV_STEREO3D_FRAMESEQUENCE, \ + AV_STEREO3D_FLAG_INVERT, 0, 0, 0) + extern const char * const ff_matroska_video_stereo_mode[MATROSKA_VIDEO_STEREOMODE_TYPE_NB]; /* AVStream Metadata tag keys for WebM Dash Manifest */ -- 2.34.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".