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 D093B40BA7 for ; Sat, 5 Feb 2022 02:16:29 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 2D20468B2EB; Sat, 5 Feb 2022 04:16:28 +0200 (EET) Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-oln040092065088.outbound.protection.outlook.com [40.92.65.88]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9ADBC68B2E7 for ; Sat, 5 Feb 2022 04:16:22 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=G2jrqaZFtZVErAX/FLnSNFH/gZxrO+ML/rCi4rnUb/Jeb6XmaZ1TcMNhH+0oJVN0itM1OZC/nehoL+2ihdkWsoF3KO351MhiHl7bEaQStE1Sj273X1+m2oVLmh/kwtsT32ic3NNSZVEQKbXCz0yj7C1dpszQkx5tPBo5xPJ7VvenDt891vgErypbJZvgieZD768SPwsECTxiNEKfeDRc3z4tNyetnpzQ1l0/ow6kpja1v+0jTCmaPYQVBxGVpW1+0W7CGKtFdMzSTQV4CJM+53JnsfaJRa0958SgZwx40+I04PySqcZW2mlTYAQqhjO1Nm8yrlLkwqBN1uJL110brg== 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=xFA1X2ujaoCxk6lRWjZNgVTEaQ0qOhsI1nXPpLxqTgI=; b=iCdqbp9Dg8adf5oxkWAW+Itzl2J+YxLkHzum17e2g6TbA+NZr/G36n/stvQD8GrUo2hjvsKP7+mVj/VSnIXu+f1gwKShN5OlKcuQfP3PWFZ/3g1jV+EGtgRrDxvQOZgSQMLny5rKkLTwHjlDidedxhyl2jjM4cny9ROwtMrIKePBIhZ9e9plFBu9PX1/L5b6xQG2HUSCVQM/e/JMWh8nyua2t/Na/q0OyvKrQCBk6qLMGOQAZRENVHlmRSRUQJSYvOLXj0/zUn2ar50vnylQ6XDpbl7GLHS0xvmAPbDmGEKxB1t+z6dnsOf1ek12szGDGXZjhuGJHDgKrKHnSFgY4A== 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=xFA1X2ujaoCxk6lRWjZNgVTEaQ0qOhsI1nXPpLxqTgI=; b=CjHquBGo8W/JHahvkpwTRlXFe5IqU9SOvqvgDtdyDPOF+/O9lRgwqccBW2LHn4oulYH/GZbHODI/2w5bDLwkdko3JvH2+gwydEYGuGcUK5OGCKGlK6zABEPUTbD5OX02BNhXdU+nxGmMMhvpJSJ4/F1Un1pcnM5NlEwFL+9f9g9AwLLw92LzlwQKoqzCjw6ktI6LxwmxKisQ6OiaBTh0gkE3eYJE0R43wStpqflyTEkUvABryOUIors6qv8C3i0TgqJTxER6PYPrSBhNaveVVAu+ZvKUFgjqFo0zSqOHBoTIZq+KcI7T0VavtZ4xmCr8JolVFvn/94aGvHzZw9A/PQ== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB5525.eurprd03.prod.outlook.com (2603:10a6:20b:fb::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.16; Sat, 5 Feb 2022 02:16:21 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%5]) with mapi id 15.20.4951.014; Sat, 5 Feb 2022 02:16:19 +0000 Message-ID: Date: Sat, 5 Feb 2022 03:16:18 +0100 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20220201212056.29712-1-scott.the.elm@gmail.com> <20220203184450.5491-1-scott.the.elm@gmail.com> <20220203184450.5491-12-scott.the.elm@gmail.com> From: Andreas Rheinhardt In-Reply-To: <20220203184450.5491-12-scott.the.elm@gmail.com> X-TMN: [awuJceukVJlmQEMSeLgwA1jtbY/QAOmN] X-ClientProxiedBy: AM6PR08CA0007.eurprd08.prod.outlook.com (2603:10a6:20b:b2::19) 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: 57a7d8ba-95b7-4747-9f4f-08d9e84d7eee X-MS-TrafficTypeDiagnostic: AM6PR03MB5525:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: vm1zDlmqcpHhf7Mkyt+wbev7uxHl5fz+/+q17kXLel80fgAxnEJkhq2SV9LgSHmQ5dck5PC1yHPA0GIS1O6u/akWWGn3AINQdexAlnZsufxE+a8BFYySLusKCt6kYCPthCi2xec0TKzGKhMAzh2ewIUxLZXe0uLTj7iRLhUVVeRHu/nI9SvQtlVJ80HRVvPf1jkQG7ErbNAQXmsbaAJPqZllH+Gf+P+mTKm5D7juKzD1xgWk7s30EQZ0rHHG3v4Iav33AwWIAWtiwGcr+WaSdQMjLSxmtCQjSIs55Txw3R4d0Xq56DW7G2TW7Zgr2jrttE6dAu6iTb4rRZe4Jr3U7pND6JA5a0YZ2Oa/NiGtfDA/nq7T1vGaKHNKFxGQ3suB3gmY69CFOmgvvR6ng5U3mwwLomDvGSXfopOdlI4Pvf4xtrF+TJp10fS9PRDxo9DitNTThoiSEIHlyX421oQOMrhhd/zfGI/R0K6jfers85kLEq8zpNaPgGDg0II7cI6H16BUvq8yWMAmfLoYC+pbZsl+O27/9Kn4Yzxb1B1fUe0Se4ECGL0hTq1ppUNEtdzAV/GDsCQ9RFCRRBuIPzLTjw== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?K0RIbEhweHUvT3F6aTBRRGpETEhJY1BSRDFNcXBaUHd2UGJHMlJiZk9iRDV4?= =?utf-8?B?YnZlWEJ2RWdwamJ5OW5xTHhwQjFnazUzcDc3a3lsLzZ3L2h3SWRxSE1DVzZk?= =?utf-8?B?RXJWUEdhMlRlSnBndHdhUkMxNENwRnlidXhvZ3RNM0R1ZTVTcC9GWjNOSGE3?= =?utf-8?B?NUxCS3lDRTc5RVFXbGxCczM1YkhVc2x0eC9qZEtZMlF2YkxWQ25jYU11a3F2?= =?utf-8?B?YWtQam40YXl1WExQbXRYL3NxSnZQcHFtTTVoc2RWVzZrbk92enlwZlBQOVJx?= =?utf-8?B?NmduZTlhbGlWT1ErVHpEWkYyRGFwMU9hY3JMZmNIVmpDYVkvUEEzcit4MXh3?= =?utf-8?B?RWxWRUo0TGRJZFJuR1VQMkVBcXdqNW1BK3pNLzNJajZUWEI0ZFdqOFZmVStQ?= =?utf-8?B?M015dGxZVXErYnE4aUM4cnc1cjlwZUc1SnMwM1QwM2lxOVViODVnMFg1U1Va?= =?utf-8?B?V2lJOVJwTzZSWXQzVGRGNE5oSUJQalcrUVBsR3UxZU1uNXRkclZQRDZYSGE0?= =?utf-8?B?dmZoM2N1b0k2dCtZTVdiTnkwTlRZVC8raVBRUHc1aFU3SXBFcFpUSmJ4TXo3?= =?utf-8?B?ckxSbk9MQWF6d2ZWbFlIVEtpc3VHTExMSTYyNEk1TFQrRGo3aEZaUFprY01z?= =?utf-8?B?V2xCWnBCeFdsVXRxU1N2SWFrWVdKSDNVUFo2L2lHRG1JQ29LMVc5NXcvNFFj?= =?utf-8?B?NkVlRWR2Z1lXa2crZ1F1NXVoZFdKalVmVFBmLzZmdEdtc1Q3UmxxcEptY25K?= =?utf-8?B?ZE92cU5IaTIxeGQ2ODdUSE11MElQMUlDalkwS2t1Rlc2UndoUDNxVWhiVkJ5?= =?utf-8?B?QTRrbnN2OWRWRjdPMTRrc0dORExjT2ErUUxJNWpoRm5ncUkzVklydGRNeHlB?= =?utf-8?B?L0xpUnhwRUQ5ZVRXSEVuZjFVNUFDZlBUNUwzeTZaMlpFcFRCYXdkaWlQNjZF?= =?utf-8?B?Q29iN0RpV1lGNnRiVlRkS0xYNm5pV1hyTTVaWitmeXhQQzRGR3dwTnZ6elVs?= =?utf-8?B?dzRDTnFHa3ZJenRHcTYwaTg3a2poN2E1akwvWWtjZUNHWVVPeHV2WlhMMzJs?= =?utf-8?B?UWFOekJYZXI2M3ZGZUs3cTdkVFZ6VEsxY3JlT2pYeWkweDI5enVmMGdHdkh4?= =?utf-8?B?OWNFS1lVamVwb0lORno5em91N29NRVl6djhidXBJcnhLRTkvbkVSQk1FTDdQ?= =?utf-8?B?OXNsSFl5MlM1RGswbXh4UDVmenhmcUJEWEhJNHM0aFBxUEYwZFlsaHp0YzhN?= =?utf-8?B?V1hObVhQbG43Skw5bnNoc1hkTkgrVlRjc0RWUzAyL1JqNE5EZz09?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 57a7d8ba-95b7-4747-9f4f-08d9e84d7eee X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2022 02:16:19.1203 (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: AM6PR03MB5525 Subject: Re: [FFmpeg-devel] [PATCH v2 11/13] cbs_mpeg2.c: improve readability of start code search (part 1) 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: Scott Theisen: > ff_cbs_insert_unit_data() does not modify the data or data_size fields of > the CodedBitstreamFragment. It also does not modify the value pointed to > by start. (We don't need that byte in this function anymore, anyway.) > --- > libavcodec/cbs_mpeg2.c | 26 +++++++++++++------------- > 1 file changed, 13 insertions(+), 13 deletions(-) > > diff --git a/libavcodec/cbs_mpeg2.c b/libavcodec/cbs_mpeg2.c > index afe78eef9a..f2efedde5d 100644 > --- a/libavcodec/cbs_mpeg2.c > +++ b/libavcodec/cbs_mpeg2.c > @@ -144,23 +144,24 @@ static int cbs_mpeg2_split_fragment(CodedBitstreamContext *ctx, > CodedBitstreamFragment *frag, > int header) > { > - const uint8_t *start, *end; > + const uint8_t *start = frag->data, *end; > + const uint8_t * const buf_end = frag->data + frag->data_size; > CodedBitstreamUnitType unit_type; > uint32_t start_code = -1; > size_t unit_size; > - int err, i = 0, final = 0; > + int err, final = 0; > + int i = -1; // offset for pre-increment Using a pre-increment is unnatural (i is supposed to be the number of units of the fragment and so it should naturally be incremented after a unit has been successfully added to the fragment) and impairs clarity. > > - start = avpriv_find_start_code(frag->data, frag->data + frag->data_size, > - &start_code, 1); > + start = avpriv_find_start_code(start, buf_end, &start_code, 1); > if (!avpriv_start_code_is_valid(start_code)) { > // No start code found. > return AVERROR_INVALIDDATA; > } > > - while (!final) { > + do { > unit_type = start_code & 0xff; > > - if (start == frag->data + frag->data_size) { > + if (start == buf_end) { > // The last four bytes form a start code which constitutes > // a unit of its own. In this situation avpriv_find_start_code > // won't modify start_code at all so modify start_code so that > @@ -168,10 +169,9 @@ static int cbs_mpeg2_split_fragment(CodedBitstreamContext *ctx, > start_code = 0; > } > > - end = avpriv_find_start_code(start--, frag->data + frag->data_size, > - &start_code, 0); > - > - // start points to the byte containing the start_code_identifier > + end = avpriv_find_start_code(start, buf_end, &start_code, 0); > + start--; > + // decrement so start points to the byte containing the start_code_identifier > // (may be the last byte of fragment->data); end points to the byte > // following the byte containing the start code identifier (or to > // the end of fragment->data). > @@ -185,14 +185,14 @@ static int cbs_mpeg2_split_fragment(CodedBitstreamContext *ctx, > final = 1; > } > > - err = ff_cbs_insert_unit_data(frag, i, unit_type, (uint8_t*)start, > + err = ff_cbs_insert_unit_data(frag, ++i, unit_type, > + (uint8_t*)start /* cast away the const to match parameter type */, redundant comment > unit_size, frag->data_ref); > if (err < 0) > return err; > > start = end; > - i++; > - } > + } while (!final); > > return 0; > } _______________________________________________ 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".