From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 89CDA400E2 for ; Tue, 20 May 2025 12:37:08 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 12D4968D761; Tue, 20 May 2025 15:37:04 +0300 (EEST) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05olkn2016.outbound.protection.outlook.com [40.92.90.16]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 5C53068D6A6 for ; Tue, 20 May 2025 15:36:57 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Mj40Ze7NZoRJoT2vDVH1AfqcvfoWm6adcA6Cz2hVZRnyabOpSZv/EkTUSzkDXampv9bEJ050jwTJjVR9IioYIrgZpS2eWGBrOJkmSiUtdzcXmk/7+e6WGs2hEaZif6SGgffN72kYqdzTa6nvsnsQNqlM+EyHkeR/oeJvlOUK52rBjo1bnMt0X0rL6QuANmbF/uWvUSI9bVQfEpkzLKH3TX0+8DfD9yWTxbX01UzCyeMBexLiXyiHiohFKGiy1+4nD4NAQmY4PcanN79TLMlqsvLMeZu3YVsB4PbhLhfyKP2CSNLj/22mv7KRLpiOoeSJQ9balOGLNZC25Ms+X2khVw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=Io6YeloRnv6Lh1YAOufx5JHMXnaFQKthrBy3ErbUcqY=; b=Dwm0fSQzJl8jEAy0RptA52qHLD6kZua4vJgcqAr9GF9VS2CVvXPGfR+SsOZn5nH4DmB06+cIihAkxH1v1wjz/UN+j1/gsEw3+1wd7LqLi8NLio99pTaP6115M4IJJCKbo3NPr3bsTY4VBxeewNi6r2cdKH7FUMlh68kM+FlUYkIzus41MPUGL1yD/iG1/a/ziy9djgqXBgbkbJReF9SiIiOKuT6mDfCPL/+RUU+mM9TaT/61d5qk96J0I7XSGGk8Tx8jSqG4S+37q+mByd5AoOuykGc54NkGHm16SQvI+dfAouNEBF3ZxVGVRQAtaqA/IRt34BCivXLCoZKuPDEjAg== 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=Io6YeloRnv6Lh1YAOufx5JHMXnaFQKthrBy3ErbUcqY=; b=nvl8WgCx1uajvTxN+5sEtgdWFl34MqE5bxublS+QG0l235jZoXMl+4gy4WGrZasmhxU6aw2876h9sHux26USlGguWGoQn1FMQ3PnkhJEEPc0NFkPacShGqibxBI4E7mp56Oyb62/zI569AnBfcvH4PQwC93pJxJocyGNhsaXWdjbYI+zwKyP7+r8nyDdGJc7I9D7JVhokQA6UAt381c7j0tD8B248ulwG1mIb7oPFm0U+8Pn4pAILB0a/XSKCETrQWv3dI/0Esm7LYRQT4KAln8mRQBcSA2SV4AZgnjvfT4hQVCQ+K5jr6DhXy+rp/ZNY6cl+poqoA9XE94Ym0XPcQ== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by GV1P250MB0906.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:95::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8746.30; Tue, 20 May 2025 12:36:55 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::384d:40d4:ecb7:1c9]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::384d:40d4:ecb7:1c9%4]) with mapi id 15.20.8722.027; Tue, 20 May 2025 12:36:55 +0000 Message-ID: Date: Tue, 20 May 2025 14:36:53 +0200 User-Agent: Mozilla Thunderbird To: ffmpeg-devel@ffmpeg.org References: Content-Language: en-US From: Andreas Rheinhardt In-Reply-To: X-ClientProxiedBy: FR4P281CA0345.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ea::6) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <8bc38015-f03e-4ea3-a164-bce5e2da8163@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|GV1P250MB0906:EE_ X-MS-Office365-Filtering-Correlation-Id: 407da577-2aa2-4c7a-e4b1-08dd979b0128 X-MS-Exchange-SLBlob-MailProps: AZnQBsB9XmoaApi1aWVt9ILKZbGoHsd6IIhJadHodLFD0EyN/VldUrU4T4USjDwWrA/+4JfTxSqVju1tbBgMkSqu5MgDrpokdh1ZD1y/wnXpSGRbswQYQkeu7QuKzA2Gj99d8b1Dee6a4KJfzsYbPjWj5Mbn3nFksvg1NgM2nKlS9swYJl8ns0m0xzW+Eo/RxeYe+pKTKI3tWT5OH3vxQ8jhglh/nauitJNeDvNeJKrceRg0vkt4pKNKb9AuK1twOxjfDBVyD3juqH/DpCMNbHpPe6t2viF+NW5tHI//Sdq6O07PrrlSqRied7odEwVbfscJlhA30rTbIDWtRMKjJ541YBa2pMpCIBnVu+qSork2WC+3NBeY4bwiVwJnf0N/V86v1/hENMAB+vXQHhGU/3iQ/LKjMz8MiKh7+Bew08pGM9ZWVapgmvE4PBjJ91pOsnoDMBbDnDIhKvMToeqPnlj4a2lyuNrw4NGLQUGiYCSK3VRxJPEp94iZ0N7rdrqXy0Gn89oXpg2uhrkSNKn2ZjUog+C7b4TjQdXJLbNfczCU+NRXH0/8Sqd8vdgDzVRzkssLAwav2Hry8zLG69IsBje26ZxusydwqsBjYi23ucebMoX8Ujvzt2D4o06de3iaecQMYzpEfi7SvHG85rFlBg24M+6dgeMAUBModCDkRpFT2fKYT24wj1hTvK3GABl/JRPMqHS1iwTTJ4wNBoWwvBmAc0/Kie4pCQo4j/iY782YN6IFVn6bzg6LcPkGZoCkUvJUPo0zSU8= X-Microsoft-Antispam: BCL:0; ARA:14566002|461199028|6090799003|8060799009|7092599006|15080799009|41001999006|19110799006|5072599009|3412199025|440099028; X-Microsoft-Antispam-Message-Info: =?utf-8?B?bG5Ta2FUZjZFQ2NYcTJYNzFMUG9HY1o1dXBCeSt3NnBHdG95cjRRWktsOG5T?= =?utf-8?B?ZU5JZnNMdVJDaUpKZ25rbjRDbnoyYWNLaDNyMmYwNDM4L1BxdXlhZ1ljVHhV?= =?utf-8?B?TFhUa3pQTkFieTJjZ25iTnNUaExuc2tCNDVUNGJKVzNNdWQ0QzVKV3EwaUJU?= =?utf-8?B?d3d5bmZycTNlV2hNR2xjME5jdFJFRTVnbjFKbTdTWjhXZmlmdkpSRlRTb2dK?= =?utf-8?B?dVR6Q1RzTXh1K1VqTiswSVlsS2F6ZjdqRXVTbE42cW0wQVNHUzdCTEo4SGlC?= =?utf-8?B?MnoxaEhuQU9zWDlaWlRyWS9HTWVOQXdaTmtZRnVQOHdtNjJWdmQ2S3p1Zzhn?= =?utf-8?B?Mk1CRnlmSjluYk5GMng2TTBLbHJoUWVXTTYvQnZZK0Q1WitjY1JHZEMwSXdW?= =?utf-8?B?RUZzckRDL0FQWE1KdGp1dEJZeS9VdnNxbmlPelFjTG5rd3F4U0FnVXU2b3Fh?= =?utf-8?B?eTMvejhJSEpTb1l4TWdnbSszTDNkUkhlV2o3Mk5WbjljeE50S0xtRTFINlZX?= =?utf-8?B?UkFsQmVXTGdLMXJ6dThKWjNTazFQMFpPMmNUWU5ScmY1TVZEWU56aTVTWS9p?= =?utf-8?B?WGJIRjlCR2tiS1ppKzNiaUUzd0xNeXFqTng1b2lKM1R6eVdob21FUXhUbDEw?= =?utf-8?B?N1BPQXdGUmpOOGxlWGlqa2dPcHY2amxmNVRDOGczMWxMK1hvMTVsWEIrZmxY?= =?utf-8?B?dXVOWUhQZFVWTFRnSGp6SmNmem1SejZVd2F1Mzc4d096enloV0ZsbXFFK0la?= =?utf-8?B?c0FwMlZLaGY0NzZVOUhDVUEyRWVEd2k3R2xWUldvZkpTVFZxUnlMMU5YRDh2?= =?utf-8?B?dDl1V0pNUHllNXRsdjZsR241MkVIbmlLSWU3VWpNazNMamt2V3dBV01iZmo4?= =?utf-8?B?bmJxbER6eVVtbnpLVHhMbHVhZU8wNHJWeUU2UDJ5bVpMWDBtZ0dER0xlcWRG?= =?utf-8?B?VTB2ODc1RWZRVXNpVHg5WTRnRkh1R2VmbkJWM1MxOVVaQTVwT25MM0REbW5R?= =?utf-8?B?RU5pWk1DZDRBeFRJOFZHZk10ekJkcmFmM1FyYUF3bHpqUnFGS2VmT3VHc2VL?= =?utf-8?B?djl1NFpaTzFKZG1wSDNOdWFRbGdUQkhZb2IybGVRcmJXWkNlTlRNaThCSFhM?= =?utf-8?B?L0pIMzhRN0liK28rSEJySGpXam5vdDB3TmNEVHpva1VNSmdDSVhnTy82VHJp?= =?utf-8?B?VW9GUEkxMFhoRmxoa2IveGhiemQzRTlGSkRQb1pmZFNqeVVTZjJNVzRuRkVj?= =?utf-8?B?c0pFL3Foc0tEZkNDa0VodEJabHRPQWJLZnNoL3R3MXpPd3BIT2E5dXN2bEZJ?= =?utf-8?B?azlGVTBMdUMraWQyRm1UQ1c2d2JXUU1EdjRwV1JQdzZXMHp1QVN5b2VkczA3?= =?utf-8?B?Qyt3QzV3Yk9VcmZ5b2NoTmtnS250cm5JU05HOE5aeVpJcC96YzN5N1JhdW05?= =?utf-8?B?aisxcVN1Z0N3UmZ6UW42MHlvNkJJUkdzT1dXcWM3NHlJR1B5VEFnMU5jZzk2?= =?utf-8?B?UG5UbUxVUTNBS1g1MnJuU2RzZWl2TDY2RGNYdVVsUVB5eUoySFFYVXFwYVZI?= =?utf-8?Q?bx0k5/w+WW/aSNbcHkR6gHwxg=3D?= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MzN0RUlNbzQ1VFIyTm5oaHlKQVdtaWtMdVhBTTVGSWVlWFY4d0Z5WTRvbDJi?= =?utf-8?B?RGFqei9KZ1RzSHZmNFpQa3E0dng0aGVuZTRITFhLajFrUzBzOEF6ZmluQmds?= =?utf-8?B?TGdsZTNRZTkwUk1OUUtRckdJUlZMY2hnVlQ1clNwMmUxelZZem5GeUZueUFm?= =?utf-8?B?a24razlOTkN0cXRDM3NzclRqT2tIeWkxYzJpLzlnWnROMmhCdUcwcnJEWlhP?= =?utf-8?B?cEpUa0daSUgvUkRNMGF4RVlMcUhyVGhSVG5Za3A5QThBNHRkNEl2Zjc3UTBm?= =?utf-8?B?NTJVNE5YV2NrVmZaUnVJdVgvdkk2QTg4ZTZpUWt5WnBtRFVGbEZoazRBNXcy?= =?utf-8?B?VEhxZXNITCtsSGhEeEdtcUpCTlNyN1RndmM5cDVoNGJOb051dzZHY1VaUk1M?= =?utf-8?B?ZmRvQ3hYaVVaZmFMR2pIRXV6SWFMRWJ1dzRMQmpaUWRFQlBPVFpUMkFSR25B?= =?utf-8?B?SXN5dmxwRUVnWXZnMUtWWWw5c3RmQUQvc3JjS1d6YlNHK3BpcVhWZWdadWpv?= =?utf-8?B?S2l6blVMUnhQK093NkkySFl5L1pBS29TL2htc2MrbWZzb09LZ3hNYlB4a2VD?= =?utf-8?B?ZnVINUR1Y0RNNHA2Rzl6S1BUbkt2VHBwSDQrM3E3QWxFendQY1VYSUFMdTZa?= =?utf-8?B?RG5RRkxMbW5iWGdEdjdwcURpMFJmdFpMdDQ5VHVXUDNqSGhhRFF6UW5obkVX?= =?utf-8?B?V2ZYVTV6bDF1bG1XUDJlbk92R0phU2lieHBSVGl0eFQ2VWtXbXY4OWFWS0cv?= =?utf-8?B?UStRZ0FnWExaZGJiVVArZ1pCVEZDTlJ4ekVjci96V1Qzc2IwRHVSSVpBZjJm?= =?utf-8?B?cnJpTVNVNE96cGZWZVJSamJIcDdadnpaNVRDMXRyeG9ldzhiVzE4TVl1S01u?= =?utf-8?B?VElmQ1BZVWRNSkdVN1lwdlVJUmZIWTRKa29la0x1eW1WZmtYOStKL1U0aUFC?= =?utf-8?B?Rk0rM3BteVkwMnd0WVAzRE56R2UvTU92SVg3T0VMeFlTNC9KK0ZqOWdRUWtH?= =?utf-8?B?ZCsxeC9ZMU0xMTBPSnR4cGg4bTE3VFZvbExrdEZIOG9Qa2UwdzdNU1E1WDZO?= =?utf-8?B?Q3JuaFZhbUpyczhlWGtFQnFtOXdOclFsL1BjNmE5MjNKR1QyMTlRRWJpWG1s?= =?utf-8?B?OWtRT2tRVFBIMlVlcFR5bHRROEl4QmRsVTBteElkM0ZMcXJCR3Foc1JKOUtD?= =?utf-8?B?WXpMTkowTkk1NDl1MmkwbTVIWmx6R2NrdENady8zRTB2dlRxZWRhYjBTb05a?= =?utf-8?B?NUlCMlY1RnZaRllhb2hrU1RQMkZieWY4N2V3VGdjaldjOHMzeWxWcHhBdTBU?= =?utf-8?B?OTlYNTIvNUYwOGJNNktuQS80Q1ZUNEpUYVNoNHZTbVBKbW4vWTlQaDVvb0ZG?= =?utf-8?B?aDJoZkkwbXQydDBIbDgxQ0E4VkhzRzN1bGVEWUZOTUhwSmcxWFZ6UmFrQVor?= =?utf-8?B?R0F4ZmRLL2R1VnpzQXhzSSs1MS9VVmVtUUlnSmVTK2hUTUx0aW43ODNLTGVi?= =?utf-8?B?V3dZaTUwMlRrdThLTVZQOUdzUDlrL1hTS3ZjT3N6czBFU211WXUvY251Y2Jq?= =?utf-8?B?S0xSTjFYR21LNDJkMWlBVGtqTmd5NS8wUWQweEsyN3pnNkJmOE94NDkvMlkv?= =?utf-8?B?a2FiV1YrUmdIV2NwM0xXc0RieVpCeEpPTGNjcWZ6VEh1NmhqN2hPcXZidWlP?= =?utf-8?B?MExvSmQ2QkFsNVBQb05DWUhBRTFESzNvaXAvc1p4Sm9uOEVnWFcvNGthbVMw?= =?utf-8?B?SVAwcWZYbm5nc2liMkQyeFZVYlU2V2VNdUFuWThNRVA5YkZWV3pkT1dQSy91?= =?utf-8?B?S0pWbkhxYUV5WHIvaGQrZz09?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 407da577-2aa2-4c7a-e4b1-08dd979b0128 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 May 2025 12:36:55.6069 (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: GV1P250MB0906 Subject: Re: [FFmpeg-devel] [PATCH] avcodec/rv60dec: Avoid branch when decoding cbp16 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: Peter Ross: > On Mon, May 19, 2025 at 12:06:02AM +0200, Andreas Rheinhardt wrote: >> Patch attached. >> >> - Andreas > >> From 02724d5792348bea618c049034dc0febf24a46ac Mon Sep 17 00:00:00 2001 >> From: Andreas Rheinhardt >> Date: Sun, 18 May 2025 23:12:03 +0200 >> Subject: [PATCH] avcodec/rv60dec: Avoid branch when decoding cbp16 >> >> Signed-off-by: Andreas Rheinhardt >> --- >> libavcodec/rv60dec.c | 11 ++++------- >> 1 file changed, 4 insertions(+), 7 deletions(-) >> >> diff --git a/libavcodec/rv60dec.c b/libavcodec/rv60dec.c >> index d704ae512c..2bbcb1d620 100644 >> --- a/libavcodec/rv60dec.c >> +++ b/libavcodec/rv60dec.c >> @@ -82,7 +82,7 @@ enum { >> }; >> >> static const VLCElem * cbp8_vlc[7][4]; >> -static const VLCElem * cbp16_vlc[7][3][4]; >> +static const VLCElem * cbp16_vlc[7][4][4]; >> >> typedef struct { >> const VLCElem * l0[2]; >> @@ -137,12 +137,12 @@ static av_cold void rv60_init_static_data(void) >> >> for (int i = 0; i < 7; i++) >> for (int j = 0; j < 4; j++) >> - cbp8_vlc[i][j] = gen_vlc(rv60_cbp8_lens[i][j], 64, &state); >> + cbp16_vlc[i][0][j] = cbp8_vlc[i][j] = gen_vlc(rv60_cbp8_lens[i][j], 64, &state); >> >> for (int i = 0; i < 7; i++) >> for (int j = 0; j < 3; j++) >> for (int k = 0; k < 4; k++) >> - cbp16_vlc[i][j][k] = gen_vlc(rv60_cbp16_lens[i][j][k], 64, &state); >> + cbp16_vlc[i][j + 1][k] = gen_vlc(rv60_cbp16_lens[i][j][k], 64, &state); >> >> build_coeff_vlc(rv60_intra_lens, intra_coeff_vlc, 5, &state); >> build_coeff_vlc(rv60_inter_lens, inter_coeff_vlc, 7, &state); >> @@ -1650,10 +1650,7 @@ static int decode_super_cbp(GetBitContext * gb, const VLCElem * vlc[4]) >> static int decode_cbp16(GetBitContext * gb, int subset, int qp) >> { >> int cb_set = rv60_qp_to_idx[qp]; >> - if (!subset) >> - return decode_super_cbp(gb, cbp8_vlc[cb_set]); >> - else >> - return decode_super_cbp(gb, cbp16_vlc[cb_set][subset - 1]); >> + return decode_super_cbp(gb, cbp16_vlc[cb_set][subset]); >> } >> >> static int decode_cu_r(RV60Context * s, AVFrame * frame, ThreadContext * thread, GetBitContext * gb, int xpos, int ypos, int log_size, int qp, int sel_qp) >> -- >> 2.45.2 > > Looks okay. What was the motivation for this change. Speed up; any numbers? > I saw a branch that could be avoided. I don't think that this leads to any measurable speedup. - 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".