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 6A83D42EE8 for ; Thu, 12 May 2022 16:30:12 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B1C5768B42D; Thu, 12 May 2022 19:30:10 +0300 (EEST) Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-oln040092066012.outbound.protection.outlook.com [40.92.66.12]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2A93C68B3E0 for ; Thu, 12 May 2022 19:30:04 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dnuv63sSkNP2g39dVQASTCgM9Y+J7AQOCu3BFIqDFaZMeQ7KqHDXG/s9dZBKXH6HiXx32GLJxajOaTqwwNrXilIqge/8TmMcDwtc3ZFlOwgt/fdskteSPjxDCeq3LSXFtkFdzANp1hGlo2crbzjuLrSHMa6SUr60AgP2BE/p9Q2VJSjL5dPFnMExG6/vrNTmk97qk4TPw6LU2hMeX1KjM9Ki9zWNngYjtT2+W4f95Mf6DGeoeLtC1ZU/c0guwaivZrg6zbIqAQYHVPGYVeOauwlYpZHPQgqQGH5oA+CpAqiyCQ4KKjRRbSTU6SeCVe2fbAJ/CZtL3I+kF+pRY6nZyw== 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=4M4P4JRKi4gTG86ZfCCHVUHwSD3BC2GQ8PhYyNVkOic=; b=KFObV9BExf+LpufUt544r/y2T6pvE8vzZfQiMtalku6WSTpd9DP0uS7+uQu4bu+gthG0knOme6gMR9RXOs/IlRedtpkDqGItlWeuvt9Z5f9qDQ4Fzfyfu9zx8kgGOPf35ZRCQcDMTuahhPSli2Vx+qCHitl3hF3pc78uZ9eQmf7k4TITGPzDCKpadLKAugZ4f3bhetWyyuFtKBJxlJbilDbjHxmxBn96zKe0LK8fG374/aTn7b15VVdCLu9t5uixG6INklfVQAFZF38M9jtgpZqJzIdP9tbRq5eusl8SNafihl3/WZs0MNu5MJUILYwso9JEYqLVZ4wanSa+IoJ4ig== 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=4M4P4JRKi4gTG86ZfCCHVUHwSD3BC2GQ8PhYyNVkOic=; b=jym9zs7BEydUZ/Czs6CT4U+mTy+pl6BLSsaQUGUf1UJZNS+hAs+XtUrHz8bLf6lu9e5sCDIWJvmsE2G1oh3yjOiyJsxtPlkfCLSv6O+SrKs7uipM+YCjpSg7+PSSSe+V/BkKHXbMTjln0UgxeAZOtog+0+zjD3xnj+2hn/OyzffWlxOtDSYwvYsW3CfKPG86tMbp3i9fbggzkhaHVVHO8RDddqRYbQuRB0hhxwQs4kjuFMjyi7HUGRujyll8dJOZYVXlvqYyCSX8AZ3/cbRfZQYhQ85jnZeackz7vC2OdgMjq47Dlf9Px3VHO1GYCd3pU3XWf+ItqWrpbAQaxJt8Tw== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by VE1PR01MB5904.eurprd01.prod.exchangelabs.com (2603:10a6:803:113::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5250.13; Thu, 12 May 2022 16:30:02 +0000 Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::60b9:9f29:40cc:f01c]) by DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::60b9:9f29:40cc:f01c%9]) with mapi id 15.20.5227.023; Thu, 12 May 2022 16:29:53 +0000 Message-ID: Date: Thu, 12 May 2022 18:29:51 +0200 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <1652280498-10408-1-git-send-email-lance.lmwang@gmail.com> <1652280498-10408-2-git-send-email-lance.lmwang@gmail.com> <20220511233840.GA15884@gmail.com> <20220512151713.GA8500@gmail.com> From: Andreas Rheinhardt In-Reply-To: X-TMN: [WVYZOi5xiaTLNlLntLOYGOZXQzw4zc6U] X-ClientProxiedBy: AM6PR04CA0069.eurprd04.prod.outlook.com (2603:10a6:20b:f0::46) To DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a81e7965-f1ca-47fb-0a2a-08da3434a45b X-MS-TrafficTypeDiagnostic: VE1PR01MB5904:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 2RR/hJfYZoHB6/T0MgXxP48mB+4AqGnpoqThTZ85okP1CQQliWyrSUcRaf2Q5l+Lgqs5Z3AFU18ex5t/hjPAYeU7I1rxO8mdAfCEzoep36HbGUYrpcIFAYcZ+UUnMK5UDHRRhjW+xzozD26qq99aZXuKAkF1lcPxi7sMnOtUQcnk3NTJNVE9RkX/WN+hGcXAZLkoHTzs3qm68QcYtZFqTvfNdWYbb9Rss8V7wXk2oMDrqT9tUE2Wbcd1evzbIxxMb8Jc9o3IA/SItkwL+yq0IwijrDPeDNue2ruRMqf2rOySooBAt+Pkrncc6xPMV+yLzA0xpNxL8X8P6UtOGBCfKuRKwbhUTUfE/malPAIClmsttdCoUOEKbFZvaWuMdF/Ne35pR0mFcLDVLP7TMFsAxuPGLnpACgDmcN2PhrHIb/ndk5bq8zhnLA30Sh6pqWE0lidjZQ7k60jaGSgpAngky4CnHA9rtUH6aebnLEeeqJqkFP5ASRNps4LQP59kqjiHzzxPj4mkQCJgOA3/SwgNT9I6hGSvmUy0ZMLo5sw+pNw6sFQsMNLadEYZQvQbDaJpEQgL5TfrCnzXoKO+pu7Ix1b0ofR4wAiwHu8nrWHFu+OyX4zWMmz8w1O1bdy+JSkKRoWlVkgimo9+rfB8YY4NpOflPqZYmtQLjk6XbXjcAf4= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dUZkQkM4MDBMREY0Z2t4cGlORW9EWlQyRUtFT2MyVXpLSVpCTFRoUTJUTEJr?= =?utf-8?B?emc1MWhYWDkwOEZwenh6ak1QTTdCZ0Mwc1kzaTk4QWErcEp0SHY2Ly9LTkdw?= =?utf-8?B?bVNlcnFoVzNOcnhYS3ZPTFk5WW1SNE5OMkl1Sk52eU9lbUNXT3ZTWWluRW8z?= =?utf-8?B?S2pmaFBnWTc0QkxXRUtESTVpNWlJazgvWEJjTFFjMk1yZkdEbEJ3a0VzaWFj?= =?utf-8?B?bGI4Y2ZnOHFBNHFBYUs5bDZKaTBuNmRTaTM4ZEI2bCtDWlJGWjgwSUlHdEZ0?= =?utf-8?B?aGNQUlgxTElnc093anUyK2srNjhIMWRKVjkvK1NnZDlHdWpTcXRnaDhyQ2pP?= =?utf-8?B?QmpnME1NaE5wU0VCWFJpeUM5SUpTY29MSDg0aVJZOUI1SElwZmlXcndPcmI2?= =?utf-8?B?L1dGeGY2Z1FkdmJsZy9rakw5b3R2aEY0NUxIbFVLWFdrQVJZMXk4LzdrNWlU?= =?utf-8?B?NGJRYy9FcVJnSUw5a0RpUEtTek5JWlRXelpBRE11ZVZnd2lPcmwyUXkrK2l3?= =?utf-8?B?UzBnZ0N5NUdieG5WZENFYzFRcHlYY1BNM0tZZzFVY0RYeEpMc1d5aWViUzha?= =?utf-8?B?VjBhQXY2eTFCSS9HNzVEWUhFQURCSGFrUWVKcW9ZcWZnc01KTHcweDJGWTFj?= =?utf-8?B?Zkg1M0lDRXo5T2tXMXJzaXlaU21PMi8zZEdkOFdVMHpoOTdhOHFncVJrSVEr?= =?utf-8?B?RG1tcElqbENwM1ZLSHZUZGlmQTlPdTZxaTJZUDVUNUVRcHorWXpkekVCMGdq?= =?utf-8?B?NE9HTElGdlRmczZocUU1OWZCUXBEZjRxaWFyUmU3OHR5NjRVN0V4UzV6cU9F?= =?utf-8?B?NG9xNXVvc1ZYTlN5RUJ2Z2hlUkJNUkVQbE5sWnhZdS9CeThZUnZUc01HYi93?= =?utf-8?B?WUtqaVJGbHd6Y0tNbnNDazRDMkdyWCtLU0NJN2VNcm1xQTRWd0FyN1NGRVdD?= =?utf-8?B?dHl1bTJHdnNpUFo0NDNMemlKcVNGZTRxeFJvWGo2NXdXQ2l3M0ZKWFlmZ05j?= =?utf-8?B?UFNReWY3UFRnMG9ONHJnWE5nbU5KcGdvY0hvYlBxQXZWMit3Z3RFUXBMQ1du?= =?utf-8?B?Q2h3ZjZrR0p3NDB3TnRJWUlMNFlnRjNaVWRqY1A5R2lvKzNTamYyalk4Ritx?= =?utf-8?B?a1ZCQlV5TTYzcWM3ZFFocXM5S3N1Z1ovS3pjQ2JuajNVc3Znd25JUG5aK3I2?= =?utf-8?B?VkwwN2h3MGRiVFdHR21xM2dLdVZiNmgwODdxN2wrVjEwZVJKM3JSc0MvZVBz?= =?utf-8?B?SklqRVhENmo5dFNNWFNCZ2RtZXpwcjY3SE43UThJeGlzOFQwQ2VpU1ZkVUJu?= =?utf-8?B?d2hkdVpHTld5WXArUjBQU1RscXJEcGRodkk1cy9EcmQyOUs4ZWFoV1BHU1A0?= =?utf-8?B?N3VFSmd5VTl1UmRkUkJhVDgybDdiaWJwTU9qOGQ1QkNraStYRlRwcWdTZE5h?= =?utf-8?B?c2NVVzd1REVpQUorRFpuWEFrWW1aSnVpZlVsT3dwcFV6Zzg2dWR2UE9mL0wx?= =?utf-8?B?YVpFaVZ4M3JmK1Rka3g4b1g4Vzk3YnpOOXBIYkc2aGRvRS9XYmMyWmJGRXdN?= =?utf-8?B?MFJ6QVhUUExnR2w0SnMzZzdxZjhBWUlpbUVSYms1elFabzdpQ2NqTE14cHZy?= =?utf-8?B?UXY2eElpcnNyQWRaS3I0ZklHdlhzb0gwTTdBb1poNS9NSjgwQUFySjdnc0Ir?= =?utf-8?B?VkVZSm9oN0NlTmErczFIc3c5NWMrYkdUUUUzNU5WYnlRZHBZeXNVZWdaOEkr?= =?utf-8?B?bW90Z1VCcTZzUk1lSVpBNkh3R21Ldkk1YnEvOCtjOGpSRDlEY1dpYmp0bzRp?= =?utf-8?B?R2JONFQ3RHY2cnZUSndIRVVrMFFnRVlSZHNvdmdpNVFHWHJsejM5bVMrUzJK?= =?utf-8?B?M3VNeVBmWXRmN3ZhOFRxZzhPbWQrMDNuUFJ3c0l5S1ZrcFBSYmo5T3Jmb2Mz?= =?utf-8?B?ZE13SEp2UTBjMVM2ay9xdTN1RDYzUFZuMjdIcGJ0OHZMUENhWGRGSVo5eFRT?= =?utf-8?B?cmVtaXRROE93PT0=?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a81e7965-f1ca-47fb-0a2a-08da3434a45b X-MS-Exchange-CrossTenant-AuthSource: DB6PR0101MB2214.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2022 16:29:52.9376 (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: VE1PR01MB5904 Subject: Re: [FFmpeg-devel] [PATCH 2/4] avcodec/ccaption_dec: check the length of packet and return used length 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: Andreas Rheinhardt: > lance.lmwang@gmail.com: >> On Thu, May 12, 2022 at 08:25:29AM +0200, Paul B Mahol wrote: >>> On Thu, May 12, 2022 at 1:39 AM wrote: >>> >>>> On Wed, May 11, 2022 at 09:47:52PM +0200, Paul B Mahol wrote: >>>>> why? >>>> >>>> assuming the len is 1, the following code will access the next 3 >>>> array anymore, I think it's better to check the i with len -2. >>>> >>>> for (i = 0; i < len; i += 3) { >>>> to >>>> for (i = 0; i < len - 2; i += 3) { >>>> >>>> for the return, I think it's correct to return the used length, >>>> if it's error, have return already. right? >>> >>> >>> I doubt so. >> >> maybe I'm misunderstand it, but from the comments, the API claims that: >> libavcodec/codec_internal.h >> 175 * @return amount of bytes read from the packet on success, >> 176 * negative error code on failure >> 177 */ >> 178 int (*decode)(struct AVCodecContext *avctx, struct AVFrame *frame, >> 179 int *got_frame_ptr, struct AVPacket *avpkt); >> 180 /** >> 181 * Decode subtitle data to an AVSubtitle. >> 182 * cb is in this state if cb_type is FF_CODEC_CB_TYPE_DECODE_SUB. >> 183 * >> 184 * Apart from that this is like the decode callback. >> 185 */ >> 186 int (*decode_sub)(struct AVCodecContext *avctx, struct AVSubtitle *sub, >> 187 int *got_frame_ptr, const struct AVPacket *avpkt); >> > > This is correct. It is not only the internal API which claims that, but > the public API, too. And this just not honoured, in particular not in > case of subtitle recoding. See > https://github.com/mkver/FFmpeg/commit/ba1564c532654888015d67b70bf73d117c2d9f75 > It seems like there really are people who call this in a loop until all the input is exhausted (as the documentation leads you to believe (The internal uses of avcodec_decode_subtitle2 don't do this.)): https://github.com/HandBrake/HandBrake/blob/a40fb6bce6755209461166140f131f26a2857eb9/libhb/decavsub.c#L335 I wonder if they ever got something meaningful the second time they called it with the same packet (presuming there was a second time). - 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".