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 67C35492DC for ; Fri, 8 Mar 2024 10:44:27 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 2392968CEE5; Fri, 8 Mar 2024 12:44:25 +0200 (EET) Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04olkn2060.outbound.protection.outlook.com [40.92.75.60]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7191A68CCD4 for ; Fri, 8 Mar 2024 12:44:18 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=d7GfzU+oE/dj6lOAbLcFxgX+9IjHV5t3Ix6BvYN4UKstugCy3NfL6ZAxoiY3cFX4/A5cmReE37LbhA4GYU9368chGMDMdMJCPsIe/i2bHvG4FdZzxfGdyS2ssh8R1pwW3AlDSwmuyTJuBBEpaOCjZ0joKTp27MScmg6jYcydcCXgYOoZAlfoUlWdj3EYW1DRBbXatslnBb4guXEyvTwKOA5Ul0dCPycGQEe8tM01OG7Liy8OsXBO7HVzsnyCguXLnIMPrGDauxf6MtyjBecIgI8YKG1VxDQYr9sx7ABnOuvXsTf9sJH2R/i1vcFE2gdTvcRKUdUiPwyanbvfhyjBjw== 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=h+GisB9rBK2g4xxEz2LVSp4aPv8fndxo40OLjXFPkiE=; b=N903rdItDjknxpJ+D5zhp7HDR1414Vvwj8euHf3oJEiKQShnQtkPiWazv3RKVA2x8li+d2biwfVShs4c68IWUJrw8mI3Iui1gHdIS4CXAmjhsb5hGPz0qP5F+f8sK3YT49VSxk2LvR5EzYlgKAmu/aiV6hvroLDpyxwcNt+SfRQ2pah3EDp20wOu1HWu1YQtamOshYiMVAvipgl2Gw6/5LaTqac0GKgc69Ac/9wmFy6EQ+gprYAufUt3BBE0jqaM2IO5Z/OvGmjOyg3XaFqRfG0o7DliuxVCOllK72qT1hKIhkvjn7uZSjrVvK08HZNZMF/nTJ1ZcRORN9ssS0r/vg== 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=h+GisB9rBK2g4xxEz2LVSp4aPv8fndxo40OLjXFPkiE=; b=heFRSGPMP78epgiXuG2LFXgYPCfG6/HSdVIqb9pu6QxkCkdUm+wjqT88Vh8dmp0iV5w2WnnzWdb6wMX6H6BMagqJyvnBNGGgrUW1gYID/FP4JzcIwuhxSkScmL43hwcNmW5COoX6co06aMaSUKdKd5JoGlisXoXOQduiXDHGqq3LqnnnMHKc1J0eewVuNBGNd6r99tlpmDD1CIgmsy6+pmJ2xpAJFPuv+4W6S2nSYBDPStOZ9tnh388xvGrQPmoykYuiw8+eUnWgPj7PMl5klR2ahwASEC9Z2iJ47L+R1LBGNpM6Nvt7gPR7cSojp/knqJFOkcDEG1a/eRWw5e7Iag== Received: from GV1SPRMB0052.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:109::15) by AM8P250MB0018.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:3d9::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7362.27; Fri, 8 Mar 2024 10:44:16 +0000 Received: from GV1SPRMB0052.EURP250.PROD.OUTLOOK.COM ([fe80::a8f2:5082:22e4:8d1b]) by GV1SPRMB0052.EURP250.PROD.OUTLOOK.COM ([fe80::a8f2:5082:22e4:8d1b%5]) with mapi id 15.20.7339.035; Fri, 8 Mar 2024 10:44:15 +0000 Message-ID: Date: Fri, 8 Mar 2024 11:44:12 +0100 User-Agent: Mozilla Thunderbird Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20240308082749.20028-1-anton@khirnov.net> <20240308082749.20028-2-anton@khirnov.net> <170989285192.7287.17016576053815588581@lain.khirnov.net> <170989331707.7287.60934458751012067@lain.khirnov.net> From: Andreas Rheinhardt In-Reply-To: <170989331707.7287.60934458751012067@lain.khirnov.net> X-TMN: [t1sXBKyitRl1YOB3kibL0tNJErUesOkOdjXbwZSbWuw=] X-ClientProxiedBy: ZR2P278CA0061.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:52::19) To GV1SPRMB0052.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:109::15) X-Microsoft-Original-Message-ID: <54d38b29-4e6c-40d5-a22b-9454a6f1b309@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1SPRMB0052:EE_|AM8P250MB0018:EE_ X-MS-Office365-Filtering-Correlation-Id: 2d827778-172a-452c-e498-08dc3f5cb31c X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: vI4fuuDrHRppyJtPyNpc5OFG/g3LCrlUhdDqcVecOyS93xoAhCZ+1g5knFUO6TkNvHtIFdkEsJ30gRu0DMoHXD8dwMtCfIQw23s6iL0LYAIV1eE+5Fuxzfxh9nPWDXuqNxDuyZfbJP2/4RJWbUW7bgzwGwbeSl/V62btqHf8pNH2AMKCLxrZjblzyeWRKc7gur+AyRge0DT8TvZGtoB/BBcvni1OXRtYnUFmL4/dFoZ5rzZFTPtWUKQv0JTErMOOpA0NGEnWdaDZ2ynrsVsLsxaH+iI/L1+tCytMV4aMTVq6PqdZQi4vNXAqt1I1ocBbL9jnqvB8n31q2EzMDt0roWMxUPT37m2W6K865x3KMiGNVV2o5MjASc4JFeXmU3UXySkIcFJKPQzPU/iMXcOE3Ak5dIKcf6LlylajegurZb2NLPUU2rP6Ei5s0T6fe1mIsEdx/f5Ilou7X936Vup/9r2b/ClSQKRFcrp/+GPcDQj5kiAw6BdeIY7iMNF2vFFSkwNwd2gW+Y5WivCAD9xpguzD/qvdMDc06yTMBGNrrcP8b+vRkbzl/yqb87f1rA8o X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?d3FNYm0xVlFEL2grZzgxSEZHNVBMZ1o5YU4ydVp2R28rN1RhTno4RVRGcTQ4?= =?utf-8?B?aHU1TExtem0ydE11OUE3N1o3Ums2ai9YZjlBWkd2TmN3Qkd6QkREWEQ1bEUx?= =?utf-8?B?WkF4YnZnOEsxZERTaGlEVnBmdGk5RzhRYVg3aUc1ZW9rM1VOaHF6eit1SFMx?= =?utf-8?B?SklJOFE1RW9TTXdSdDllcDUxdnhNcHo2WThnZlUwbWlhWlBEWG9jUzZPRUVu?= =?utf-8?B?bVYwYjA4aWdrQ3F1eUQwZSt3d1ZKd0JCZWZmd01ydnhMN0tLajJ6RXJJVll4?= =?utf-8?B?VlRCOWZ1bnFoTVVaUDN1aDdWS2hFQWRCNVVScTlIc3MxdUlJNWxZUE43MEZv?= =?utf-8?B?QU9scnlad1IxOWZYVXUxUkhWQ0hKYURKelZ5bnVlSnR5K1VnUUw5UTl6R2lp?= =?utf-8?B?anNnaFZDaDFCbHpmRm1PYzhtaG1yYUhCcDd1eFZhUEo4SHhjTDBYMUxrRHpx?= =?utf-8?B?UHhyclgrNTNQRHhObEo5eno3OTcxdWhXVTdRMEwwN0dIRDdLSmNIOS9zWmVt?= =?utf-8?B?d2l3K3p2bGNPRW5iUGNjQjdBVWQvMTYyMXV2YldVU2ZYMTZ2WXVvZEh0QTNR?= =?utf-8?B?K1FmUkp2OHlrZ05yNis4T1BmZmU5WlcvNlhFbWZGNVBOa0hPaDBXbXYreTFT?= =?utf-8?B?UDUrV01qUUg2L1kwSGt1NDA0MzNCa3M2Y0sycUZiczZCTDc5bXZ4K2JhTEVn?= =?utf-8?B?bnhOUVU4aFEyK1JRZGVjNGIwTFVqVU9aZU1SZ1V4UjVjSVhlb08yL0RRRHdS?= =?utf-8?B?TEErdkdoVTluZHEwV3E2MWd0ZjFjSXkwbHZvbCtYZmpoNWI0ZjlGWjIzSE45?= =?utf-8?B?TVhMZytIVDNHblBsbmFOaG82djhOaFRRWWw4ZjNXNkNRTHNQNjVwWnVsSUR4?= =?utf-8?B?RFlNb0N5VHU2TzNuSEE0b1ordUhTTUJDajVIL05GVDZjOENRMlpvWGh2by9u?= =?utf-8?B?aGEyTHNjSE5CRzM5bHBiUExyazJIbkxGVlJPQzZRb3IxWGxmUkRFQm5YU1ZN?= =?utf-8?B?TVdaNWJRVVpTZlVhdnJndXhQTEdybjZQdWNmcEJIWUw2R0RZcis4b09vSmVn?= =?utf-8?B?alBkN245dlprU2JvcVMxN0VnVXE4QnRsbC9KZ2QwVnplcXNlWjdzOS95aXps?= =?utf-8?B?MUJPc0k0VmtSZTExbDI2bmhwNkxVMzNUMi9nT0w0QXZVckRDZDhJMUNWNElq?= =?utf-8?B?Z3owem9lUk40dkYrSnpmTHROa0pGMnhRd0E0Nm9LQ0RHRHpFemVRRVIxS3Fy?= =?utf-8?B?Sm84bGdOOXgrenI1WE9oajUzeWlsSU5WZzlaOTBtZWNnTnFJOFpqK1p3WjNP?= =?utf-8?B?K3ptcENETENFOG0vN0h0c05NejJvOFdyc2hyVDczOFRtUzUzWTFCWEJmQWZD?= =?utf-8?B?dG1UU1M5eEg2RUVMYTM2ZTdPL2F3NEswK0UyNXc3UVR6RlVhNWd1VHJablU1?= =?utf-8?B?Ui90YXdtVU9rYlNXbnpjRzVIdC9SWmhIVlJvbW1GTGMzU2Q0UnZwU2NISzht?= =?utf-8?B?azZ0bWZUNWlJdEJsdFkxdFdGMzVkeVhhYXNyWmI0UXlHMFVWSlF5SEFBZjhr?= =?utf-8?B?NnNpUjNDTC90UjNvUENQeVdBbWJ4Q09FTWRpUU8rT0E5YlV3WlBqa3JDMkdv?= =?utf-8?B?dmR3NkhxTUFRRHo0ck9YREtBK0Y5dWthSGxJR1RjUGczT0tMUCtxTnpyak9C?= =?utf-8?B?WnpBOXQybmFVdDRHY2cweTNHeEQ4VGQ5WUF0ek1NYmZYSHRzaGhRVytnPT0=?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2d827778-172a-452c-e498-08dc3f5cb31c X-MS-Exchange-CrossTenant-AuthSource: GV1SPRMB0052.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Mar 2024 10:44:15.5720 (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: AM8P250MB0018 Subject: Re: [FFmpeg-devel] [PATCH 2/3] lavc: replace ff_thread_get_buffer() with ff_get_buffer() 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: Anton Khirnov: > Quoting Andreas Rheinhardt (2024-03-08 11:19:59) >> Anton Khirnov: >>> Quoting Andreas Rheinhardt (2024-03-08 11:03:18) >>>> Anton Khirnov: >>>>> ff_thread_get_buffer() has exactly the same semantics as >>>>> ff_get_buffer(), except it is supposed to be used in frame-threaded >>>>> decoders. Since the decoder instance knows whether frame threading is in >>>>> use, there is no point in forcing decoder implementations to use a >>>>> different function merely because they happen to support frame >>>>> threading. >>>>> --- >>>>> libavcodec/aic.c | 4 ++-- >>>>> libavcodec/alac.c | 4 ++-- >>>>> libavcodec/av1dec.c | 2 +- >>>>> libavcodec/avcodec_internal.h | 13 +++++++++++++ >>>>> libavcodec/bitpacked_dec.c | 4 ++-- >>>>> libavcodec/cfhd.c | 4 ++-- >>>>> libavcodec/cllc.c | 8 ++++---- >>>>> libavcodec/cri.c | 2 +- >>>>> libavcodec/decode.c | 13 ++++++++++++- >>>>> libavcodec/dnxhddec.c | 2 +- >>>>> libavcodec/dvdec.c | 2 +- >>>>> libavcodec/dxtory.c | 12 ++++++------ >>>>> libavcodec/dxv.c | 4 ++-- >>>>> libavcodec/exr.c | 2 +- >>>>> libavcodec/flacdec.c | 4 ++-- >>>>> libavcodec/fraps.c | 4 ++-- >>>>> libavcodec/h264_slice.c | 2 +- >>>>> libavcodec/hapdec.c | 4 ++-- >>>>> libavcodec/hdrdec.c | 2 +- >>>>> libavcodec/hevcdec.c | 2 +- >>>>> libavcodec/hqx.c | 4 ++-- >>>>> libavcodec/huffyuvdec.c | 4 ++-- >>>>> libavcodec/jpeg2000dec.c | 2 +- >>>>> libavcodec/lagarith.c | 12 ++++++------ >>>>> libavcodec/lcldec.c | 4 ++-- >>>>> libavcodec/magicyuv.c | 2 +- >>>>> libavcodec/mdec.c | 4 ++-- >>>>> libavcodec/notchlc.c | 2 +- >>>>> libavcodec/photocd.c | 2 +- >>>>> libavcodec/pixlet.c | 2 +- >>>>> libavcodec/pngdec.c | 4 ++-- >>>>> libavcodec/proresdec2.c | 2 +- >>>>> libavcodec/pthread_frame.c | 7 ++----- >>>>> libavcodec/qoidec.c | 2 +- >>>>> libavcodec/rtv1.c | 2 +- >>>>> libavcodec/sheervideo.c | 4 ++-- >>>>> libavcodec/takdec.c | 5 +++-- >>>>> libavcodec/thread.h | 10 ---------- >>>>> libavcodec/tiff.c | 2 +- >>>>> libavcodec/tta.c | 4 ++-- >>>>> libavcodec/utils.c | 5 ----- >>>>> libavcodec/utvideodec.c | 4 ++-- >>>>> libavcodec/v210dec.c | 4 ++-- >>>>> libavcodec/v410dec.c | 4 ++-- >>>>> libavcodec/vaapi_av1.c | 4 ++-- >>>>> libavcodec/vble.c | 4 ++-- >>>>> libavcodec/vmixdec.c | 2 +- >>>>> libavcodec/vvc/vvc_refs.c | 4 ++-- >>>>> libavcodec/wbmpdec.c | 2 +- >>>>> libavcodec/webp.c | 2 +- >>>>> libavcodec/ylc.c | 4 ++-- >>>>> 51 files changed, 110 insertions(+), 103 deletions(-) >>>>> >>>> >>>> -1: This adds avoidable runtime checks. >>> >>> What checks and why is that a problem? >>> >> It adds a runtime check to every call to ff_get_buffer() by every >> decoder not supporting frame-threading (by checking whether >> frame-threading is currently in use). > > I cannot imagine any situation where it could have a measurable impact. > And? It is avoidable, therefore it should be avoided. >> Every avoidable runtime check should always be avoided. > > Premature optimization is the root of all evil. > _______________________________________________ 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".