From patchwork Mon Dec 6 01:12:40 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32045 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp3912932iog; Sun, 5 Dec 2021 17:13:26 -0800 (PST) X-Google-Smtp-Source: ABdhPJxoz0MQ+Zya/zz6bsOI+EWr5CTetRPmK9dWivDDQ/eDEDvRCH7IcUhmIr9rMX0KkO/20dWh X-Received: by 2002:a17:906:82c5:: with SMTP id a5mr41038938ejy.127.1638753206224; Sun, 05 Dec 2021 17:13: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 n8si21804266edx.93.2021.12.05.17.13.25; Sun, 05 Dec 2021 17:13: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=lDWeMrIY; 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 CED2E68A7FD; Mon, 6 Dec 2021 03:13:14 +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-oln040092074036.outbound.protection.outlook.com [40.92.74.36]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9A06C687F4C for ; Mon, 6 Dec 2021 03:13:07 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YY4+le0VmzW6QntYcLHUOu20kB+R+VPmeSis6kYEdwqyGkhKCFEqsO+gM4JORnYvr+D2AJYAGWU6FWcHInWUX+i9OzmACmNcKW8CtKQ/moqJnmd8gGlc6FV5/fAdfEeg+v9Fip5QtegsY+7kfO+uIzjTnHpBnpWuslVU+2EJBnmEkOU9A9M/3GSURgdbGGPXTwF3tqPmekM8Gwez/2PPuGjitsc2fHGI5IeeTJGKdWzqwzdjJs+JhNae6sILX1CpEwVbox4+TNhmi+f9H1cIXdh9fzHR+xUTdJ4xITrBb/a1fgwKm6izpvZj1ztHM373SZIcT8BLApayhYiCtddc5A== 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=G14h9ALTDs1bD93ieZWQlStNkf1Zwmh5F5rZbeIWzr8=; b=UCgbkb35h0GxeTw+as+x3MHBHDBx67bxNzeGk51ES7gcCWgKhn4/oN0HIRiyGnA5k1PX10tGrn7axVXstQdsVR2IZFQ4yW/olvkrNghJnb/dvZiOyqPEkkNKTidUe7mo9g1wH2zuGASNmXBCZBLU4kfD22gC9+z0SjYhpQxEG3PECRWN23WSqzbY2vtbX974x5ENTp89wuiLoJB0/7FYLkbYzd/CL/TP46LiXaqVRKM+01D4q02YX5JFnt3z8qeVIVmp6MY3zroxEXSSkrLHPocU8zg4qsy0CJyrzb/lodxldTyRIk/Kjfo3xEkriuc8XdKUI3g2OYgPV4LOF6KAxA== 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=G14h9ALTDs1bD93ieZWQlStNkf1Zwmh5F5rZbeIWzr8=; b=lDWeMrIYYDSJuSSEAGZpvlUExCiFBCoNZvRfpwn09r6aY3nG2x44o+g2BPh4je3vkbXQdQ8TX5YHKLajv0jKUz/GdyeO3looIT/UUuTjj5764XyJd9jJvSIoYtxMBY5kw6Vdv4+oFIA1tJLw0zyzal/voro6cH4TS1hIMC5fG4sLxN3SBk7r1NhLs07u+N1P15//e004hGgJBUZKc9mdyFSbRWiTygnv7hwBXgFZSSkZwA10POg8n38OMwQzP2ICn1KauPM9r1bWj6zfqIQn+Tbp4NzIW6dim5BCLdO6kWqj7BcYnKheThRZSRb87L7rIFSynOZDOqEM8GnFLkLF9g== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB3686.eurprd03.prod.outlook.com (2603:10a6:209:2d::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.21; Mon, 6 Dec 2021 01:13:04 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca%4]) with mapi id 15.20.4755.021; Mon, 6 Dec 2021 01:13:04 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 6 Dec 2021 02:12:40 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [dItAGfZrATEph40Dp6fUgOZxxd/Pc6Hz] X-ClientProxiedBy: FR3P281CA0055.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:4b::18) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211206011246.239514-3-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sblaptop.fritz.box (188.192.248.74) by FR3P281CA0055.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:4b::18) with Microsoft SMTP Server (version=TLS1_2, cipher=) via Frontend Transport; Mon, 6 Dec 2021 01:13:03 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b184c985-b57d-414d-f491-08d9b8558dc5 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiT2s5ZWgpZq8Fu1c4CoKhX6pWEs0qFFUe/lwOFTmmgoUVKiR8BpCd4z29KNY1gJgdxBlkJAT3GiGfHAzbTY28AtdHPZ82Iwv7tAaGGxMKjvNkvhvfBwaXXuPt+3K2oZR+q5Ka7uW2/PN5DAlU69GVyYP9zUGWR1K806VI7LS18E3sa5JqV29ZjGdCHSVVHRvnqT1zCjiO2s7dmUx7vINWa7Pf4V36B8508cydB/32ZYLC1zUH0ZDZWOLFxzQNKrkcS+ykq2/Wr8JHqMLSOCWqRveeDn1KMTm9jJLvqpKhDl+k9PXMTb1chdswWX5VkyseJRtuOZ1X3kXdETg1rZKuDMjkKALKMaCcv+y11CHlmFp1xwZMqH88pszqq0fxPXTsQ2RbCa4EEvCZYYXkBb7Pc/VvJ4vxW90OB9vm3Kvsnkng0TQbo5hal8qv/4fHxye4DkE6FVHVVjPdrZ5cFPm7+asfwHgTfVSdjnHMv0SVPwAf/03kit5UJGm+qFT5B1J7R8FxZO6cJDzHnc2AZjxa6b0LQUhFhI8+8BTK/EcWFDBji0nzclKzKX/izkUnX+Oa7RtkfvRWgZJ6CuB8sU/5UBCwjyj0CDZNmQSxOBvihQPCNEfEQ5CJ8TvYlHLcsdW9PoAxY1J6Lw/gURn6azVNO5evGvpHDsHNdpY+MU5daVFtzdr7BtYthFiay6eB7bpe6ht/NIi+Jvh1q1bPE1R1r+uczrPGWYukYHQ/GFj4b4Je5z8nYobVkZTrlTgomC2L4= X-MS-TrafficTypeDiagnostic: AM6PR03MB3686: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: WvaiHuXUNQnp1uUlTEGpW5E30hRs58XFt2t4fJLftzyMQdDoCDDQFUSrruvqeRQ+C+KO3i5wiwNPrLRA2t8m4YZH68HnTs1M5IVsIglYvh9dV+epXPt9YdWSAfi1OcuNoHGO+Pj+dxIk+IuU/EGkldPd8UL9MLRe4OjQG3kaXLUSjtSFfqpNsxA7KKZ2M11iRUO1wSQHzU5fhMEpHMG0A5vYDSph824J+IfAncMst2hlmTBP5zSZabEHer339SLijE2D2zRRJ7DkOSdGeMsmxy3mPb0vdvZ8VZzv6OpUIbMKw1dpB7K/flmiv2jBzxbbUQfN6G02a3JPiJxwYv/US21ugPzNPLoGd6DmabIarKtnTleG/o06/2VmZFILFnDytpmT7kYPj4VxH0d1J6KlPP056bc+MuOvXuFrGfj67oEnB3FxV2PaK/6lfAWpfZmQ9sainog17+RN61Sg+lZmR4Wvs/Br3I6jutQHaOHl9CapLRHiOLUGBXXRQiOJz+3uBZloJoqAQ/+TnVEyTN3Hr/q5c6ON2+gUq1BEAKnCMCGYUNQuM3aZmrm+tqKXVGM7p8J+wAs9+uWFjV9AMKAknw== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: LJMKBscDGuKFJd1AvZsk8E0VBtI0/2tks744Glq338qHTv7/Mw9RpbLdBIy2En1tylFZjtW8qudiedGFF7RV8+jNXRULsXLanuSIlXBusSGciP3t9fURxxiMGJqGfelySbdzFUqTaDG4vCQGaTABgkeVX9crM+l8c0oogTzfruGSA89jwOL50GXEHS3G7j4RFmb0P2xl12lwpnNtDe0R5e8lsZMl5G8h6DCWpeOURZsahiq99han9N5juBB1NVPdqsMe8kgVOodxdunFYeyfbBjj7ff57CKC6kAt/NusUtdSc+kFzig1kJ/O7bDWOk5PqGmwQeutO5G1eOknITSMF+N/vKf94SYt3urAa8NxRyBgqpo3CGIhf0Ce7fkD/UKQTTOxDWBBHWYBj0PKLeJf0tPybKScYUsGbmK21l0sm8Ybwp/7Fw6n+IMLZLk4jUWiuAL7KCvMHAwsd8VTtBc1gMZReKKT2m/YwRfQpyIwJaeQWnCcamI0gchy01mW/KrM2FKNi2M8NcZhYlFf5+b3h9HvYMm41dj2RsTSj7bsRIJ/NRffpATEt3yq7gCLVhhiqozaGYY0cCqrZrl03hWtMGlZEaD730ytZJMH92uk+7H45NSD8h9JDBxla91cIoFDR7RDxX77ZjbLcerBtPa9ZFHBJC0M6XXxxQEE5Ut2YS8dZvt/FtZOKvMnfw9b1zKUj0A+KzpzilVurDQbjfjWbgqcl67b5VrQ7uxqQohkki+23EdlQp+XYBwthR3MPsA1AKnF1TxZDxvsy9ZXCAZta9S+T0pHPfcCsztx8hIsZKi/57o7zJoDCANRxA49eZez9/IoZ0ESpHdJaHqotbqXJYtanzlChrpJ+KmYRSIu/tu1EO641AQbSE7NO9GdBtxZYzo/YrQ71KHFWdtikyArQkeTsV6+qrqYo+evzAo+D/4V8FFSHTJBrs96a2v/O+/qkOc9zIlgiHwdvQY8O4c4PQ== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b184c985-b57d-414d-f491-08d9b8558dc5 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2021 01:13:04.1801 (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: AM6PR03MB3686 Subject: [FFmpeg-devel] [PATCH 04/10] avformat/aadec: Don't unnecessarily reinitialize AVTEA context 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: HKsejqVMsuhv We use ECB, not CBC mode here, so one does not need to reinitialize the context; for the same reason, one can also just let av_tea_crypt() loop over the blocks, avoiding a loop here. Signed-off-by: Andreas Rheinhardt --- libavformat/aadec.c | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/libavformat/aadec.c b/libavformat/aadec.c index 7e97120070..24116b1f70 100644 --- a/libavformat/aadec.c +++ b/libavformat/aadec.c @@ -173,6 +173,7 @@ static int aa_read_header(AVFormatContext *s) for (i = 0; i < 16; i++) av_log(s, AV_LOG_DEBUG, "%02x", c->file_key[i]); av_log(s, AV_LOG_DEBUG, "\n"); + av_tea_init(c->tea_ctx, c->file_key, 16); /* decoder setup */ st = avformat_new_stream(s, NULL); @@ -246,9 +247,6 @@ static int aa_read_header(AVFormatContext *s) static int aa_read_packet(AVFormatContext *s, AVPacket *pkt) { - int i; - int blocks; - uint8_t *buf; int ret; AADemuxContext *c = s->priv_data; uint64_t pos = avio_tell(s->pb); @@ -279,15 +277,10 @@ static int aa_read_packet(AVFormatContext *s, AVPacket *pkt) if (ret != c->current_codec_second_size) return AVERROR_EOF; - buf = pkt->data; - // decrypt c->current_codec_second_size bytes + // decrypt c->current_codec_second_size bytes in blocks of TEA_BLOCK_SIZE // trailing bytes are left unencrypted! - blocks = c->current_codec_second_size / TEA_BLOCK_SIZE; - for (i = 0; i < blocks; i++) { - av_tea_init(c->tea_ctx, c->file_key, 16); - av_tea_crypt(c->tea_ctx, buf, buf, 1, NULL, 1); - buf += TEA_BLOCK_SIZE; - } + av_tea_crypt(c->tea_ctx, pkt->data, pkt->data, + c->current_codec_second_size / TEA_BLOCK_SIZE, NULL, 1); // update state c->current_chapter_size = c->current_chapter_size - c->current_codec_second_size;