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 6B86F40EED for ; Sat, 1 Jan 2022 07:30:29 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 834CB68B0CD; Sat, 1 Jan 2022 09:30:27 +0200 (EET) Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-oln040092066047.outbound.protection.outlook.com [40.92.66.47]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A6DA568AFF8 for ; Sat, 1 Jan 2022 09:30:20 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=A7ghex9QJhf5EEJyrvFmsVV3f+gz19cpOZNFZRn0jpIyfyYlvs0K7aBP2tRJvZ5w7JfHRfWoBTHbxIMFs2AGPoRlTS/tufTbuOXZC1I9stR95xD0iN00dLiQv5SgVUT52BwV5GkTJY5fFRoK+Q88i76YSnsndTyreX+mS1JHl5UscZe2PEbA7obQ/rnCRST3PTykMVlLP5bjYBiT2qJwdDyaiScOxsLYLpNVvvZcmZ1MMtBiv6RnSMb2dc714nw8t+Zrv+4riG2p8o05OTJCxT0KIEvCCJC3eeNI8K8k/jHUenAYQgqAbigm7qiODtEUTH18zfMnoVWeRBLgH1MD5w== 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=9j/kL40M2TvaltIjZOy/Eqp+XKAwJEuoZQcV63dlZXk=; b=SP+bOh0hMfRtU1s5xGh2oLe8Aif419CTL347nWuVhZ9Bknj/8FEv2ysOwRo3ajeYs4v7zWhO2OKn53QiHdT7wDXUeP0EfxRX0UHDQXo3v74FZth7CXYVw5nwoTOk9Jwd62k58hPNNCjJNg7DUK6Z4QJBarYOWBejFw82ALI/4700ASRZzltmH4Mzgb70Vmx1Fcw+w0RXR9+QrWoRBGfeNUBognEFrgTtrqA22tS6+h/LRPjo7Ga4e+QXF/trCusdh6fdgOTDRsd2cu20LFtmUlXbIoLA++BlnsE7vsQ5hT7FfzEDbrmQWN1fk42JjJ7A8pHuLsfPzZBLLFk8h91NhQ== 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=9j/kL40M2TvaltIjZOy/Eqp+XKAwJEuoZQcV63dlZXk=; b=pgw8wYgk7JjumWs5ZRGNYVIQ1hyS1hZCvziWXeVfMXsa5YsYsmfAsGmBifRDtdx2kyaB2ABtS+pO0ZdKhqR6TdRLf5XpsYewT5LhVQkYs8C93RD90d0s4uKbfkzH9Ft1MjArsVoukciyHuWtgwGs/+XaPFjzbNBeUBsP0ayWrTbVuogSkwn0RX3XWdAtYmvJz8Kr1VgS6hm8Qyjv8QWGbeVy5EpCV44JklqjubZeO623j9latyivWWJHvgBuhQUFHtcjpqAK4jfmGRBohfY3sEhJqRFfqttAKid+VQQBfbffBQkjme9ayVbIfNlmftqQzv2nhxSflBIMontg9UV2pA== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB4534.eurprd03.prod.outlook.com (2603:10a6:20b:a::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4823.18; Sat, 1 Jan 2022 07:30:19 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::19fc:be9f:2c9c:53f5]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::19fc:be9f:2c9c:53f5%6]) with mapi id 15.20.4844.015; Sat, 1 Jan 2022 07:30:19 +0000 Message-ID: Date: Sat, 1 Jan 2022 08:30:18 +0100 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20220101041621.427012-1-tcChlisop0@gmail.com> <20220101041621.427012-4-tcChlisop0@gmail.com> From: Andreas Rheinhardt In-Reply-To: <20220101041621.427012-4-tcChlisop0@gmail.com> X-TMN: [ra/JRe3k3bFKTDHyWGE58L8quq3CeiP0] X-ClientProxiedBy: AM9P193CA0010.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:21e::15) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7f4ecc52-eb4d-4e0e-c822-08d9ccf8903b X-MS-TrafficTypeDiagnostic: AM6PR03MB4534:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: T6d/0wEQGrxjyewtxDi9T2JP870J0qBjnimENROauP1qocYO2XbssFNwg16c0NEjhsLMKSlV8KlQ33IpyVZ0L2X/elog8qZ5I+XFHY4HbXZVl55uVc3u+dkuyt63DNdP/iIywvTd2r/GXZRUQq4JepEb+pUx66WUoGqGSyQgDpjbU6boa3cHBLZahl5g/9ErlvONjuACL+7Kn3STI3wIf0biGuRNTzBcn2pkAB8ypru/nqwf0FmbD5oGf0HjOMZTzm4E/U8ZXQOnKmZ9xglIBn4XnWu84NfT51Y89sc0l6BM0t2Dn+QvysaDhBCFjl0Ps/cxfQfCvZh7NFZo/6+ywBhWi1vxtuWIeIT8iv9Gf68PKmybA6Kl0TiFRNy+LVqpA5QBE4nBm42HQ2yTGgKudzb1sVb6WCyWoykx+nkkKwKtofDIYrKXOeajqSJmLe1pyDvSnsBaPKgKoP0cumOPFH9UAuEEQRZAGbHyCsnXZ8xLOhr+bjks3djUl6BNv74HwBXsFMb4+U7GXPtYLulKZt4UCI317pkxM4WIB75HE3N/VlIGDkNbWZr5nrdhLkEc+ES0lPjFs+eBcYC74qva/Q== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?bVJFSVhVcmRiaFVTUk1IcU5Oc1lGTEpRRzNYR05qdjF1cTF6NTNzY3dib01E?= =?utf-8?B?M1IwSFdOekVuK2VsS2dldXZCa1d1S2pyeGtSWk9VOW5sd2FQZXVGd3M3NUYv?= =?utf-8?B?cU03SXRqQUIyQWUxZnhBL29BREdVV2V6ZENYZSswNjlpYmo0eHErNWxzdzk0?= =?utf-8?B?S3JmaXVEQVdNa0hoQlBUR2ZVZkNXYzc2SEVrLzA1aVZCZXE3Z01nSmh0VEsr?= =?utf-8?B?OG1COVNqSW1ZKzZYdklSK1lHRWQxN1JtL2pZczdQZStPNXdXYmxDVy9mY3Fm?= =?utf-8?B?NUtwbVFwa2ZwcmE0dlhxWlQvTGNVS3d4VldPWkxPV0pCYklDZEJSVVYxczBa?= =?utf-8?B?cWhta1U5aUFxbWNZSk5yL096QS9oMlVMeWlpTXVIdmZjZ3VTd1hyckwyOFVv?= =?utf-8?B?anB3YkVyOGJ3MmRDcXcvQzFKcTY2MVphWkNSWkl5Y2xQWGJ1OVFlV2NGTnFl?= =?utf-8?B?M0tZVWZvb1N4WllkZVJXemlQSGw0RkcvOFFJNm9ENCt2M1c3WDVNOVpRNTFw?= =?utf-8?B?a0h3N0QwYTNIT2pnaE5BelFab0JnaU5Ea0NIa2FFdGc2VExRUElJSDVZNXZ3?= =?utf-8?B?T0xPM0xEbjRwUXYvZlRmZ2MxdFZua3lvRjNGOVhjT0JTU2h3VXoraGRvNXNK?= =?utf-8?B?Z1lrMHVoMzJOUG8xVll5RXdjVWRRTnhXVlhhcFRKMmhNUnJsTWE1ekxLT3VV?= =?utf-8?B?T3kvdkF2U3BVYkxzN2hlYTVoTXNDckVPNm5wL2w5WW5nWEtVemRjUUFFelht?= =?utf-8?B?UUdTTEhuZXNrRFd6bXovOWdRLzh1NFdDMGVyd1BSRWR2VTI4UGFDa0NtMEFm?= =?utf-8?B?cmNxd2dOVGpjenFiZE41UStxbDZwZ1JudVkzNGtneEFxV2NSaUNmTWxVZi9T?= =?utf-8?B?TXh4MlNlMnhrRUMyc0FIb2UzRUMvZnVTdG1KbzJFZmRmZGNFbHdac1ROSXdL?= =?utf-8?B?RlNtNldLVXBxc0hRNDI0OWQ2QXRDd1lkN3NMb3ZuNDQyWFpuemtmWUlHVkg0?= =?utf-8?B?WU9zbDErZXkrM0IxUjNzek4yaUtYWitBN0NEMmhzTFJPY1J0NHpvdGhjWkQ4?= =?utf-8?B?R0pLcVBlNElXd1JTc3VRQnpFVkVDZG11Q09TalNTbHR4aFcyY1VzRDFKaTAv?= =?utf-8?B?K1l5VWVNWno0S1EyUEhVM28vZDdwb0d2OGVuSCtOZ2dmRnF0UUVkdVZiSUoz?= =?utf-8?B?ZDdhYmpPclZUalNJTys1WlNLTE5pS0VyTkhuOGxRU2RhRUZvTm9JSUMvd092?= =?utf-8?B?ME9Hc0tlL3BzSXlZMUQ4L3RVQXJJb1BkVWJobWphaG1IOTk4UT09?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7f4ecc52-eb4d-4e0e-c822-08d9ccf8903b X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jan 2022 07:30:19.4990 (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: AM6PR03MB4534 Subject: Re: [FFmpeg-devel] [PATCH v11 3/5] avformat/mov: Refactor mov_read_dvcc_dvvc to use ff_isom_parse_dvcc_dvvc 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 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: quietvoid: > To avoid duplicating code. The implementation in dovi_isom is identical. > > Signed-off-by: quietvoid > --- > libavformat/mov.c | 50 +++++++---------------------------------------- > 1 file changed, 7 insertions(+), 43 deletions(-) > > diff --git a/libavformat/mov.c b/libavformat/mov.c > index 351ecde770..ad5ab6b491 100644 > --- a/libavformat/mov.c > +++ b/libavformat/mov.c > @@ -55,6 +55,7 @@ > #include "avformat.h" > #include "internal.h" > #include "avio_internal.h" > +#include "dovi_isom.h" > #include "riff.h" > #include "isom.h" > #include "libavcodec/get_bits.h" > @@ -7062,58 +7063,21 @@ static int mov_read_dmlp(MOVContext *c, AVIOContext *pb, MOVAtom atom) > static int mov_read_dvcc_dvvc(MOVContext *c, AVIOContext *pb, MOVAtom atom) > { > AVStream *st; > - uint32_t buf; > - AVDOVIDecoderConfigurationRecord *dovi; > - size_t dovi_size; > + uint8_t buf[ISOM_DVCC_DVVC_SIZE]; > int ret; > + int64_t read_size = atom.size; > > if (c->fc->nb_streams < 1) > return 0; > st = c->fc->streams[c->fc->nb_streams-1]; > > - if ((uint64_t)atom.size > (1<<30) || atom.size < 4) > - return AVERROR_INVALIDDATA; > - > - dovi = av_dovi_alloc(&dovi_size); > - if (!dovi) > - return AVERROR(ENOMEM); > - > - dovi->dv_version_major = avio_r8(pb); > - dovi->dv_version_minor = avio_r8(pb); > - > - buf = avio_rb16(pb); > - dovi->dv_profile = (buf >> 9) & 0x7f; // 7 bits > - dovi->dv_level = (buf >> 3) & 0x3f; // 6 bits > - dovi->rpu_present_flag = (buf >> 2) & 0x01; // 1 bit > - dovi->el_present_flag = (buf >> 1) & 0x01; // 1 bit > - dovi->bl_present_flag = buf & 0x01; // 1 bit > - if (atom.size >= 24) { // 4 + 4 + 4 * 4 > - buf = avio_r8(pb); > - dovi->dv_bl_signal_compatibility_id = (buf >> 4) & 0x0f; // 4 bits > - } else { > - // 0 stands for None > - // Dolby Vision V1.2.93 profiles and levels > - dovi->dv_bl_signal_compatibility_id = 0; > - } > + // At most 24 bytes > + read_size = FFMIN(read_size, ISOM_DVCC_DVVC_SIZE); > > - ret = av_stream_add_side_data(st, AV_PKT_DATA_DOVI_CONF, > - (uint8_t *)dovi, dovi_size); > - if (ret < 0) { > - av_free(dovi); > + if ((ret = ffio_read_size(pb, buf, read_size)) < 0) > return ret; > - } > > - av_log(c, AV_LOG_TRACE, "DOVI in dvcC/dvvC/dvwC box, version: %d.%d, profile: %d, level: %d, " > - "rpu flag: %d, el flag: %d, bl flag: %d, compatibility id: %d\n", > - dovi->dv_version_major, dovi->dv_version_minor, > - dovi->dv_profile, dovi->dv_level, > - dovi->rpu_present_flag, > - dovi->el_present_flag, > - dovi->bl_present_flag, > - dovi->dv_bl_signal_compatibility_id > - ); > - > - return 0; > + return ff_isom_parse_dvcc_dvvc(c->fc, st, buf, read_size); > } > > static int mov_read_kind(MOVContext *c, AVIOContext *pb, MOVAtom atom) > Patches 3 and 4 are missing Makefile changes similar to patch 2. - Andreas _______________________________________________ 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".