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 3C2D646DD6 for ; Fri, 11 Aug 2023 10:44:10 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 7231868C8CE; Fri, 11 Aug 2023 13:44:09 +0300 (EEST) Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03olkn2036.outbound.protection.outlook.com [40.92.58.36]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3BFAA68C732 for ; Fri, 11 Aug 2023 13:44:07 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Jly0TnZFX8wIRLTzf08wqVcH9UdKumDQGa77NRzHas6xURU0oj/VQ7XN9E4PHHPLIKEFCcFGoQ/9/jaKnixQLi/+FBRaj1nmUZJPcY37p6phnPMiH5pfN1bfGUku9u9cJ5O5OSTS9IBtt0i3AtnNZl/orjy8o+d8O/GDPvfhhXRLABwxV/aq1jHk2M8f5v7j+G51z+m9B89nNSGJgqD2jTQOlc2O2gcmnzgAEtPzK1dWv2rYHDqd76G46JJgCvQ3w8mikwzTqL6yoV7I/lUmHCxOZ9RdLwq/6rhwOfP8vyxUz3e8hC4f9KmTQ8cv3Ds0O97z6GOXmLcRYkDpiDPoVg== 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=vB/We9+LGnweW6hF1vNNgEzieitIHPdR/WNvHaPUau0=; b=my5w0cBts2UmJSscLFHfVHUIvYvX/E8bZ/mo3KjGlCN8mWPusgU8EDiFe6CX+t5paY+mlvl+6hcjGOcKw7Wavvo8luxYBHwsG1o3JjC1nLDXX3LbnWcDFWOhnz2YAVb+FwiYhq89QlMrQM1dctGxS9k1vA7LdK+GVTntlI4Vo8x04B65+57aOxFKFGTVp3XpZ33tO1R11g7StbMT5AMee5fllqGDveliWXmIvKghYdVgh0oDTv3B2WVQfub3UOR4ivOHhBqZdTYFBj9+0dAsqoU6prb1cfMPtmmtH1GDVbqHiJuyetmwb6mCEPEziarRoUS3b5kBP++30vnAeG4MOA== 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=vB/We9+LGnweW6hF1vNNgEzieitIHPdR/WNvHaPUau0=; b=J/naHv3rZSdgFkImCajyvgL7pPXG6AHvdvGjwCiUGkD0sh34aneMLM8JHG1MAoTD7+ugXsxTSjY/ZfDS3/KpNmJ1DoIM/hnmBZkt+wIF+OsiHOhceZiqMgdcKLgpgRvs8gpbSxWEe6+e5q0dE/GGpu3kdpJDtD3UvKcgzfattLUQN/HoeurlE11VKjnjJ5y8G82ADwy+AKdvdE7BHDUqQs7S1/rrvKVpC2QcuDzklJOpeSjBsqevXd/INpAIxJ2e7J9YQvf+LPMgw4t/XqXQAvBXDcu0oIB1JNKUkJtIZ81wRisK7vlulGyOsKTRvkkppI6vYk3G8JxGDDSMDjPqag== 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:44:06 +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:44:06 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 11 Aug 2023 12:43:25 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [LS+/dgLZOHCrBPUKvX2LAg3A4fg58w28C1iEF1wZAaU=] 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-5-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: 7aea4910-6d5d-4d1a-00f3-08db9a57e2ff X-MS-Exchange-SLBlob-MailProps: EgT5Wr3QDKzB4ARh+58J9bfMIIBvRml6+jcp52vwAE8UrflbVJfQ6otjQJMdcVOIaoJmbsGTzde2JXvJInUk+2ivcjGC/nkn0eBuhvX2qwMAWbEMM/N3lv5Ii2CKuwNkVCKKXhcr8JeVli/JU7A7aeVHAJ3a/Tn4HxiwDCxjPcCBJRyyitAHDqUx6OecxaFOdSBDtDCZ2sAWmEZb6T4an16kOZIRrE1XqdcToAlO1tV9iZmSjlhEoUNLFfpWUqRRtcEsrI6cAP1JSksCdCHW0aY8ioECbxSGN6SHmjZKIHtS1/xR0enf+gDipEk4Z/YXeajII1GJBIBDoIrJkuGlv8bWytToLbaPt0lKmsThHoNAGF9TjPTGTTMEqgHa4OOKrs+MGxS1agaK7vJiR1Uhecv1BdgngOr9DjKdYQFQQBVCkTZFrRGFxrYIEa3ieC2Qnd9+HBX6moI53vVSWZlfELiuH42OX5AHDlxc8PcItlx38v6PObHpyEZSpC5DNrklVW1UcVDhCDRLn0Kby0SkEWxcLRgeso6Hm1LqGCRlQtNBjAWp0mp2zIWBrLfpbVcDG+vFeTDOjXAy3zpCjJiIUTHPoN+9/YbRBivT342S30XIa8wCb5rvfdSwq422SAZztz29RTsZTskXDat8CPF9v6c7RYe4Ue+U9hbqQsQfAuS87J/reAmknj3966heOGt/hUOfxA373yL0yTUf5t4K9XbyYerBNj4VZDa6TdnvjH4= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 3hy/rZuigN49p/TB5dyj0/rl027dHidrKt+iMVCMcg8qAbkBQupQ6mOmpaDpqwslAwaJo5sy7+KO+LxO7bp5rRs7TQ2DF0JWX0gw5UTEE4y5n9LZWC/UE92VsOytrtRWZ99A5COx2QxBjv1hxNKUFHs91g6GIIgV5zRdfEcSLuHOhcpVF15L9s2BKjzf24ApYfT80/qibY9fn88fcnzXsduUwgGsuY3ZC6VhVqUQrPWKyW8+5lXBYs8hzcNuL+c7/990HzwCyg6MT8i+fVQuz1pmtyrsE8n6waFRmppGsZfSNZxQb4Qv08fttfKXWbSZyn6Ihu7pZki6rgQRekfE+WH0BfH3SHccl550s7HUJKzI3TytL/h174F0xHAqjkLQDTQSnKRQB127I6kxUXtRkjTeR9Zo7Eu8+JILLTeYLqisK/qBb9Q8+VRRwD3jokRWLCKdsj5s4sIYpt7KXXjWrz+9eO/7xrBwBCM50Fjt3z2uMMe6QCp1LMR/9H40uuStmhkcZckPmSEw0Jplo2Xn4PgVRZpg9/TrQ6rK8Tc8pXtLgNHUtSsub1GAudV3hPnWw98GVpVw2qFpJ/5Oiv7cldBTzhxzW3Ca5/WFZuUfKNI= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?GUKG/OWCdmbgwlYsmzNtndwAL6wbvPPWBGWSB9vdvf7lkIftiNLI7CwDCnDA?= =?us-ascii?Q?if/0HAX5KuAW/3uRRMtKZn4fxvVwsy/P/uWeCvkAlmEHPjIpPgdixPb90uhl?= =?us-ascii?Q?yU9cUDFxeTU4gLaRVJzZBKJE1FJFA3mfKLJLBROt+PTqVjkPqL+hMC045GRV?= =?us-ascii?Q?tOilq3tbXQYpqRhMqGsBFOuCUmKocaB+tfRHk5sx/KmMdxnoc6jdrDZnbYyj?= =?us-ascii?Q?XgTAekT4Jc7S+uSczs9ModA7lVM7YdCMb1fpWTkmH1uzA3jWzg/xaxDa4guN?= =?us-ascii?Q?CsF+H+iaIzXYXoN0Ug6jGTnfU6b1GCfyRZ1ZZbtJyaH9+/D+zLCy1iNz+Mv9?= =?us-ascii?Q?zecB58Ig7GNMdlzjmPKYYXjhCZKzywE6/0Nbq2ALuogMaGcozliAsKYhVHYP?= =?us-ascii?Q?ZxJ67IJ82yBsElPzOvy5K//R/K5uEmNgTnqxBGYcIV1vrsrB+5JfZ2hGp6n/?= =?us-ascii?Q?N73red4iTZUScJLcKIK2yUvf8zpQ8L03kKRLyflacMI7bcS/EFmJbR0EwmbD?= =?us-ascii?Q?aZpbA/Rn1sT8dgqRhuYpygy1cFEJaRkD/2o5IxNjuTowke+ylXE7hVAHzk8j?= =?us-ascii?Q?L/l1fu6Tg3J1Qfyzr9Yw+x89pABbt+Sg617euGOXypA+Tn8fwsZ3apaLg3Pi?= =?us-ascii?Q?aCLCtVoGr9vXf7bY59H5JF6hEj8eI1hntiVw/gnp1J8jPgIaU8m1ChKX0S07?= =?us-ascii?Q?oIuCIxt1lbWZjzLDLdDRum868hAroLsanf+6B2mNSvlX/HjJtYZd49XrCCVR?= =?us-ascii?Q?0vsNvD7uTZdgPPiWfcGb+CJEIIyLTyHPnAsiEcHxf41r6i2x3BtFiKONAu1I?= =?us-ascii?Q?6V+5FyxEOifeakkDl+/YXMhaTa+6SQd3JE1Qt2NMvt2LJlvz7DsCnLqZFnKH?= =?us-ascii?Q?AJjLFfnfsODmr6Lku6qVLzrVVLiSDJkhek/KrUJH3sT6eyJTAep4GnhS7gmR?= =?us-ascii?Q?sEPKdUroISVXW4V+wjchyh55vEDC4lTQ/RyNtT8744nDGKMD0KCvFSUCYHTn?= =?us-ascii?Q?yI3umo9DKrnYUgmiWaEQyTRxkx4ws+Mmg7B7G7PYZfwewvgMxmjGVsOf9IBG?= =?us-ascii?Q?PiI4r3XW98MnKtc/2oPlIFGLXN3usfgqlQCZ+uB9DVC+DF6RGfk7m4TeQtjJ?= =?us-ascii?Q?e+cxlODXdhHcZTmLjiR6T6NQiLuriCYfJlFwhrTaz81ht60V0qDn6sA+dUDv?= =?us-ascii?Q?f1NEFaCZh2l6svMqfl+OV71YmXGL7LYJHwJA77dK/OVXq22Nxs6UWUDbBLIG?= =?us-ascii?Q?qOr4d2IIVfzb7GTDiJCk?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7aea4910-6d5d-4d1a-00f3-08db9a57e2ff 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:44:06.6717 (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 6/9] avformat/matroska: Move ff_mkv_stereo3d_conv() to demuxer 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 is now its only user; also make it static. Signed-off-by: Andreas Rheinhardt --- libavformat/matroska.c | 58 --------------------------------------- libavformat/matroska.h | 2 -- libavformat/matroskadec.c | 58 ++++++++++++++++++++++++++++++++++++++- 3 files changed, 57 insertions(+), 61 deletions(-) diff --git a/libavformat/matroska.c b/libavformat/matroska.c index acfacc85dd..5878594e68 100644 --- a/libavformat/matroska.c +++ b/libavformat/matroska.c @@ -19,8 +19,6 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -#include "libavutil/stereo3d.h" - #include "matroska.h" /* If you add a tag here that is not in ff_codec_bmp_tags[] @@ -145,59 +143,3 @@ const char * const ff_matroska_video_stereo_mode[MATROSKA_VIDEO_STEREOMODE_TYPE_ "block_lr", "block_rl", }; - -int ff_mkv_stereo3d_conv(AVStream *st, MatroskaVideoStereoModeType stereo_mode) -{ - AVStereo3D *stereo; - int ret; - - stereo = av_stereo3d_alloc(); - if (!stereo) - return AVERROR(ENOMEM); - - // note: the missing breaks are intentional - switch (stereo_mode) { - case MATROSKA_VIDEO_STEREOMODE_TYPE_MONO: - stereo->type = AV_STEREO3D_2D; - break; - case MATROSKA_VIDEO_STEREOMODE_TYPE_RIGHT_LEFT: - stereo->flags |= AV_STEREO3D_FLAG_INVERT; - case MATROSKA_VIDEO_STEREOMODE_TYPE_LEFT_RIGHT: - stereo->type = AV_STEREO3D_SIDEBYSIDE; - break; - case MATROSKA_VIDEO_STEREOMODE_TYPE_BOTTOM_TOP: - stereo->flags |= AV_STEREO3D_FLAG_INVERT; - case MATROSKA_VIDEO_STEREOMODE_TYPE_TOP_BOTTOM: - stereo->type = AV_STEREO3D_TOPBOTTOM; - break; - case MATROSKA_VIDEO_STEREOMODE_TYPE_CHECKERBOARD_RL: - stereo->flags |= AV_STEREO3D_FLAG_INVERT; - case MATROSKA_VIDEO_STEREOMODE_TYPE_CHECKERBOARD_LR: - stereo->type = AV_STEREO3D_CHECKERBOARD; - break; - case MATROSKA_VIDEO_STEREOMODE_TYPE_ROW_INTERLEAVED_RL: - stereo->flags |= AV_STEREO3D_FLAG_INVERT; - case MATROSKA_VIDEO_STEREOMODE_TYPE_ROW_INTERLEAVED_LR: - stereo->type = AV_STEREO3D_LINES; - break; - case MATROSKA_VIDEO_STEREOMODE_TYPE_COL_INTERLEAVED_RL: - stereo->flags |= AV_STEREO3D_FLAG_INVERT; - case MATROSKA_VIDEO_STEREOMODE_TYPE_COL_INTERLEAVED_LR: - stereo->type = AV_STEREO3D_COLUMNS; - break; - case MATROSKA_VIDEO_STEREOMODE_TYPE_BOTH_EYES_BLOCK_RL: - stereo->flags |= AV_STEREO3D_FLAG_INVERT; - case MATROSKA_VIDEO_STEREOMODE_TYPE_BOTH_EYES_BLOCK_LR: - stereo->type = AV_STEREO3D_FRAMESEQUENCE; - break; - } - - ret = av_stream_add_side_data(st, AV_PKT_DATA_STEREO3D, (uint8_t *)stereo, - sizeof(*stereo)); - if (ret < 0) { - av_freep(&stereo); - return ret; - } - - return 0; -} diff --git a/libavformat/matroska.h b/libavformat/matroska.h index 3a1ee740ce..359eb87832 100644 --- a/libavformat/matroska.h +++ b/libavformat/matroska.h @@ -437,8 +437,6 @@ extern const char * const ff_matroska_video_stereo_mode[MATROSKA_VIDEO_STEREOMOD #define TRACK_NUMBER "webm_dash_manifest_track_number" #define CODEC_PRIVATE_SIZE "webm_dash_manifest_codec_priv_size" -int ff_mkv_stereo3d_conv(AVStream *st, MatroskaVideoStereoModeType stereo_mode); - #define DVCC_DVVC_BLOCK_TYPE_NAME "Dolby Vision configuration" #endif /* AVFORMAT_MATROSKA_H */ diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c index c6042eed2b..98695479c6 100644 --- a/libavformat/matroskadec.c +++ b/libavformat/matroskadec.c @@ -2163,6 +2163,62 @@ static void mkv_stereo_mode_display_mul(int stereo_mode, } } +static int mkv_stereo3d_conv(AVStream *st, MatroskaVideoStereoModeType stereo_mode) +{ + AVStereo3D *stereo; + int ret; + + stereo = av_stereo3d_alloc(); + if (!stereo) + return AVERROR(ENOMEM); + + // note: the missing breaks are intentional + switch (stereo_mode) { + case MATROSKA_VIDEO_STEREOMODE_TYPE_MONO: + stereo->type = AV_STEREO3D_2D; + break; + case MATROSKA_VIDEO_STEREOMODE_TYPE_RIGHT_LEFT: + stereo->flags |= AV_STEREO3D_FLAG_INVERT; + case MATROSKA_VIDEO_STEREOMODE_TYPE_LEFT_RIGHT: + stereo->type = AV_STEREO3D_SIDEBYSIDE; + break; + case MATROSKA_VIDEO_STEREOMODE_TYPE_BOTTOM_TOP: + stereo->flags |= AV_STEREO3D_FLAG_INVERT; + case MATROSKA_VIDEO_STEREOMODE_TYPE_TOP_BOTTOM: + stereo->type = AV_STEREO3D_TOPBOTTOM; + break; + case MATROSKA_VIDEO_STEREOMODE_TYPE_CHECKERBOARD_RL: + stereo->flags |= AV_STEREO3D_FLAG_INVERT; + case MATROSKA_VIDEO_STEREOMODE_TYPE_CHECKERBOARD_LR: + stereo->type = AV_STEREO3D_CHECKERBOARD; + break; + case MATROSKA_VIDEO_STEREOMODE_TYPE_ROW_INTERLEAVED_RL: + stereo->flags |= AV_STEREO3D_FLAG_INVERT; + case MATROSKA_VIDEO_STEREOMODE_TYPE_ROW_INTERLEAVED_LR: + stereo->type = AV_STEREO3D_LINES; + break; + case MATROSKA_VIDEO_STEREOMODE_TYPE_COL_INTERLEAVED_RL: + stereo->flags |= AV_STEREO3D_FLAG_INVERT; + case MATROSKA_VIDEO_STEREOMODE_TYPE_COL_INTERLEAVED_LR: + stereo->type = AV_STEREO3D_COLUMNS; + break; + case MATROSKA_VIDEO_STEREOMODE_TYPE_BOTH_EYES_BLOCK_RL: + stereo->flags |= AV_STEREO3D_FLAG_INVERT; + case MATROSKA_VIDEO_STEREOMODE_TYPE_BOTH_EYES_BLOCK_LR: + stereo->type = AV_STEREO3D_FRAMESEQUENCE; + break; + } + + ret = av_stream_add_side_data(st, AV_PKT_DATA_STEREO3D, (uint8_t *)stereo, + sizeof(*stereo)); + if (ret < 0) { + av_freep(&stereo); + return ret; + } + + return 0; +} + static int mkv_parse_video_color(AVStream *st, const MatroskaTrack *track) { const MatroskaTrackVideoColor *color = track->video.color.elem; const MatroskaMasteringMeta *mastering_meta; @@ -3008,7 +3064,7 @@ static int matroska_parse_tracks(AVFormatContext *s) // add stream level stereo3d side data if it is a supported format if (track->video.stereo_mode < MATROSKA_VIDEO_STEREOMODE_TYPE_NB && track->video.stereo_mode != 10 && track->video.stereo_mode != 12) { - int ret = ff_mkv_stereo3d_conv(st, track->video.stereo_mode); + int ret = mkv_stereo3d_conv(st, track->video.stereo_mode); if (ret < 0) return ret; } -- 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".