From patchwork Sun Jan 16 23:04:00 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 33632 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp2274072iog; Sun, 16 Jan 2022 15:07:26 -0800 (PST) X-Google-Smtp-Source: ABdhPJz1JtMN33PjzunfyGDut8mgpdEOODp0o9QTNlgkO1fuTnIdL1KTP2xctEV2x0lQohavkqhD X-Received: by 2002:a17:906:6148:: with SMTP id p8mr14475487ejl.254.1642374446409; Sun, 16 Jan 2022 15:07:26 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id c73si6658753edf.241.2022.01.16.15.07.26; Sun, 16 Jan 2022 15:07:26 -0800 (PST) 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=VvZb7ppG; 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 9D53168807F; Mon, 17 Jan 2022 01:05:36 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-oln040092074045.outbound.protection.outlook.com [40.92.74.45]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6A7C368AFAD for ; Mon, 17 Jan 2022 01:05:30 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bVnd7xC7MqNpM0XMP+SWY6/BZA3tZpTy3nLeKKsGb1Ck1/5Cwt0UyqHC5FyPuMN0yn+zKe7CwxXF+iL/8VUzQmngIq+oe1HY2rjB8KusgGpUa6BsK5qaGeSd1wYtp1QMPC3wtXiGK/k08nwzADv0pb/AUL2vqXrqChUZStJKDi+nHBTEGNSJJ2ZD/0Z13rNaH57UWa9KsXU4d5hw47WSyVirRj8BTnVlwO1+3o9W38MDPdZoOBOlpjYuE+qGiRxjMKD9hHVXJ23nJ6nMQ+GcvU95geGHS+j6G5MLJnn1x9tAKd9i+Fg6d+Zkp7pVU8V7HMZyCSzB/GLefxdnr+hi+w== 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=R4Wb26DaEOLRixRzwSrf+B5LsgEXb5yh/kaeK8EfQMo=; b=hLFgp061kD81/bkq0Q/Kg4U5VAKoyYGUvdTJq84vE9LGTw3qcrmCgfhmGAgRuaDer887floMV0lxw3qxkjzvl8PE20+iln81rvrWbzAqNbWL1fsj95ZFHSvUMcNstz1qsHaPnVEdXqzuahP17WZS9xLSB8zi8DQY/6XYn3QgvVirRqZhDUean5NzfX4LbCVWbc03X6LqVveL/tVpYNYDB447H/8ZoSdS1pq9B4EAJPhguULsaHe0ZcIvGyn9tIvFoy9gW1CPiwqdUePbeO285S6o5UbQZVmhpl4G5Bp0rwEWdbCIXXVYlCu2ieJsusAUEmq8d1StYHpDiOUIcnB77g== 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=R4Wb26DaEOLRixRzwSrf+B5LsgEXb5yh/kaeK8EfQMo=; b=VvZb7ppGy0fNkm80S+O5prZ/bfMTr1gHjLzMXATpHulwpYHcNVaJnW/GCCY9iHIYNiV/gIrkDVnQ/CpN6udFCgxMQxV+XMhC29j6n6Bn1EGLqbV5Vje1QIgvCVFfKiowqkKbv9IoKGRg9gtJ6ioXYrj0SMP4WAm4JAfKTV8pG6MpIlQg0jKf4ymqyUMsMglGbPPghezSVfv74IgiMuigU+KQgRVW88Os2uYFAoyGcNFfrk3uwiP4pGmpyhKuGuVNBbAJEhwgJv/gTNvW4bzAll7R/9VezTa5NWm/r1T31HHK1E2GJg45Yqe4PYsqk9/ipkQAVnSVJEH/bQ5F2ZZHCw== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by VI1PR0301MB2560.eurprd03.prod.outlook.com (2603:10a6:800:68::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Sun, 16 Jan 2022 23:05:29 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::19fc:be9f:2c9c:53f5]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::19fc:be9f:2c9c:53f5%9]) with mapi id 15.20.4888.013; Sun, 16 Jan 2022 23:05:28 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 17 Jan 2022 00:04:00 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [loSOd6EUSEqmG4Omk43OQHDMHXetfQvj] X-ClientProxiedBy: AM0PR10CA0070.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:15::23) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220116230405.194506-19-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4e645622-1093-4a87-0ec9-08d9d944b03b X-MS-Exchange-SLBlob-MailProps: +LiGfBxqLEuZvKHt/RRJ4O3wxWCrUcc47No6wZQHnOgfcjCAk/HEwqWfSU/iE2vgLq2UM+DUs0blXfARYbKTbGK/kU8yHoMt+d7i9ESvIkT3uGKOYnR1C/jL3OnxSFAdS7RZv6h8e727Gmqm5zrm66BFNd6Rv0MjxMcSjvFp1blc1ezZ/h8YcncKjghybtMa3iOU/vfsYtZV7CbBM6t08l/Emu/HthA7DF5xjZQR4/O4BKRBUI0OXS9iiu0JYuzWg4Dk6DsQqjWsQEDXUc24yV/Sf5gcLKDFdeTvtQmvxrpnkVRR2l2buW005BhHSgy6yGkpNkrivTRKYrW08QkB+RX6IHh5NX93iRmvj1JxG4HZooeAzlk0/mKU6KaZOJP913tSSSaOufEqQADu75Xhe3aFZ4fFOw2OUii202BTr6PejrsOfYfq0PSWHpD0TqR1cyOYUo3d18FLt+m0sgl8sfenfF2RI0c00On840SvuTDnpxMPuU+QeEtCfPWgE3kNyURo2SufewQYGBYFyx7PGA9g6MwN0Ujns5R2/v7e6PLJoPtSZPrKYJM46oteSEoP01D78O/MYKJgzH8LknUu0MryYuUBey5bdSmBW9f9sHNex687wDut1uUkwOmqGrwqdJ/h7jIqwj580UO7sR7XOckfFTmKh36yewkdIoHurIOX7d6f2HLGVwLguDb08/47e1Rkw2XAMh2189l3zdvVblu9WLfGb8iMUydayJFDn9rQzYWRj6UW5eIG7UT1pKipYOzCTV3twjJTMb6vH8oKIQOcOWQb+/0a X-MS-TrafficTypeDiagnostic: VI1PR0301MB2560:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: tDhELvT2EPpq2yvwtda4bHrQ1oRUUqySYPJov/FBvl5UJHitBIgG7YyF2J34L3FOXJ39J9A5h55NbUGo9fJhpNf7ltNrSNDsY1wojpyC6lcdH1NURSMPm1mCi7smsm4X1IlDuRv2fKS1adgLBU16tL51+/nCTO05/5VsyNcxIuYhf0SXzh7gf4xsjocP59EXAesYaR/hWDcOknKuuErVrfpaih7SKOCh25UNvXW681DRzGbig+o1cKFppXcOoE5bQejS8Md2qQH++uQ71mmPBbQyXnimN7fr9apuiIKnFSgrczpG7Sb77bzLku9LvUdU4e4UWCMavq+bdQGHYLZrHqnqswlezVxSNaovsqZCPdejoKdy7zhEhVLTfsVCZCAaROjaXr+Tu5p73YC+X17d2Xcu5H1Pl98l+cx2JTER9dMx6al8SvgnIPKK75Kt/2Y1vazA8/NkjdvcRbY+ZtXjx3Yf1F3d0UH7WGl4aqGnGqljVKFKvnl4ufyxMb1fFBpyHVblmmk+12yOzP9x6J5vy+lZK1H7nIpg1offP5kYvBzNF5FbfdvxEAnwA+Xc2IfaSEFuJHi/zZPxR7mRaX9o0w== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: gCttqN8FaUbEUNq+7s3Qi4suGEXfl6kqc/REDtuxwkvwSXWHw5HpAYps5fx0amvdrKPyKStENFmiHMVQW4ZsBoJT7ALb6lm1a9UfmrKCWCESUtCO767ZBF/Zm+H9Nc+b45jGxd0gqsLmKbBk6MxXMOIg4r356nDH+d1jlihZ/2nZpHPXlEa7xYATMqGwufMwZ5ckSsHbaYFKzUr0tnEi5PVlmyOzyRYaKHO+LRn2s0JuDYobH0MIG12v5dGQEaq5Jfp3Dk932WB+FGHfzH/aQeNeLONNF/fU3fHjOqn+gYXSEtp8QCyWyC/24ajflcJdCxSl7xUZed/ZG1mSKX47ST6gxtub0VwWUSyJVe3nlrf8nggIJR3CbOgFLRIkOIYgM2fm3iTiaFadXCCriEg+M00Qqd+xrlTYMafGLN2wJkA8M3AkzREN8pYCGp3pWTOc+famFsZonJC9baV2uFxrGl/xrCamAjQwUKFoiJxsDwh6WwYJ7IxvzVqWvPpm2X5bnChbykBaPw0TcEMyqeVVD4dMvPDqAPpg9SkFJ6oRRaxdNZk9vYpyr+br1itanOkJLvg7//9tin981gSSbWe1pilU/FgRDXQnLS3FPHrzGP+r6IdYSdjSfb1bmklbi9BsgmrM/RB3+wfsuKgZAMPkTqKB/hpA4e7tXDnCbzll3C2XneYcA/Hzx41x1LarcCtMpQtggbWp9msX5PurkBFaR23BoiIkNh2qsJZGn32yq0Q8pWkD783DpKa1UfQbSY+L/R3ME9l1XV714t5V3yyVE/I9qaaxEmTDK8zGkti16S1zt/yhJIQkoUzT7QY4176Ut9QKe3HcCH5+zes1bTDPxWIrEJsb3UwI07wUCitYe43WU8MY8OjqzeU7a3KpZkIJCJHHG7qYvVCeOD1QhXEZGqF+uCFq2X87hw9mYRy4L4sq8puDwdcvW+TiqLQuYZ+aWS9tX8XA/8O2dOwDzgxflw== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4e645622-1093-4a87-0ec9-08d9d944b03b X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2022 23:05:28.9174 (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: VI1PR0301MB2560 Subject: [FFmpeg-devel] [PATCH 20/25] avformat/matroskaenc: Redo applying ProRes offset 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: ul1nMllZmx1S Add a field to mkv_track that is set to the offset instead of checking for whether the track is ProRes when writing the Block. This makes writing the Block independent of the AVCodecParameters. Signed-off-by: Andreas Rheinhardt --- libavformat/matroskaenc.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c index be1b3711e4..fdce3fad49 100644 --- a/libavformat/matroskaenc.c +++ b/libavformat/matroskaenc.c @@ -167,6 +167,7 @@ typedef struct mkv_track { unsigned track_num; int track_num_size; int sample_rate; + unsigned offset; int64_t sample_rate_offset; int64_t last_timestamp; int64_t duration; @@ -2451,12 +2452,9 @@ static int mkv_write_block(void *logctx, MatroskaMuxContext *mkv, return err; } - if (CONFIG_MATROSKA_MUXER && - par->codec_id == AV_CODEC_ID_PRORES && size >= 8) { - /* Matroska specification requires to remove the first QuickTime atom - */ - size -= 8; - offset = 8; + if (track->offset <= size) { + size -= track->offset; + offset = track->offset; } side_data = av_packet_get_side_data(pkt, @@ -3117,6 +3115,11 @@ static int mkv_init(struct AVFormatContext *s) (AV_RB24(par->extradata) == 1 || AV_RB32(par->extradata) == 1)) track->reformat = mkv_reformat_h2645; break; + case AV_CODEC_ID_PRORES: + /* Matroska specification requires to remove + * the first QuickTime atom. */ + track->offset = 8; + break; #endif case AV_CODEC_ID_AV1: track->reformat = mkv_reformat_av1;