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 07F3C4841E for ; Fri, 2 Feb 2024 11:43:18 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 39BB168D0E9; Fri, 2 Feb 2024 13:43:16 +0200 (EET) Received: from EUR03-DBA-obe.outbound.protection.outlook.com (unknown [40.92.58.107]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9F50368CB90 for ; Fri, 2 Feb 2024 13:43:09 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=M5MmQbVZaJIn/VP2POhg6XI4cCRA/P+DYKHEi13GZG6uLbrrwQbkTrhBGgU2M4iT2M28+0MDIv/fMKMBUC8HVgV84OmXKfhj+kV8eLQQCx0Zsi9w8ZG+HeltzpgLprZh3efssOgMtmcXn6ZrYgtPopPZpfKMc03/sAImdun9aVAjY6Pob+af4BaDcXOwG7bv1pbfq+/YmzfSudG642LZymoEZHBmiPycPNHu/DqvI6w1GrK0Ii9ISRlTNx6jggRWCPUu49nUxS8HRUH7hIc/juKzZRwYqI0GkhBv7Q5d/ytz9B04Z5vT+sHi7C0B5znrS20Vf9gkwpAWeXbCvpT9nQ== 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=VqvnAtl3c+cml0lAIqgK7e5B4Ah79D1YAIs3EHojHw8=; b=MhohDa/94MC6KRRkZhdyDdVGnVPWSK4lJ49jmZKHgEHsNqt5KWuJm+UI8H4LzUE56Hg3KhS02jKEFdgb80d7F8G+PKYYQJxW2YA+fZNYBFQ7opq+iJwlJz5xX2JFkV72J9mIrRbXsZ7CEGM4qbDZ/Pnz7Y+qxxVHZoQ2lXmXsX2E8YtuKPmpNB0I7xS0feXZ23C8yKV+QWbNjiH24kfyulc4kHXqZ2vzFK4xXzRfj3txnhIVbTEJYd1E+vlxtXhlOxWRw0aIQOb3nAt5EDmExTAKy7KMJFRoO/FJn4a5EwqIx0djAlVo8GwcJYk0LxkMhD7iV8UGYKJ1/bg9Zkj4jQ== 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=VqvnAtl3c+cml0lAIqgK7e5B4Ah79D1YAIs3EHojHw8=; b=AlUWMEyyyyS/u3e3FpTlYFfZPYl5QkIKraOgw6rjgCHS3WY2MxKBBQSdQjr/ow7DLaE7mY8etbksvqnbNIcVpAV6sslxxvb/9Y1K0MROZstn4sHIp9VtBDzeoF73F9jMXbqrWxfkPqRgZX2+5erVUP67cVH1dHjZ1Mr23favsfYrdbF1/22ySyGVPrEIv3Orbu0cj/d9s5Y662vOJiRxZjZzakpWXF7qgNA6BbpiBj5iER5UZawiJJ3bSwoDgjtVc74P1IapI5iAiCLBBC/tPmUQ2Ovg9Zr2koBNBRJz7gHxowRLwkpBzPhghgnc+Ko4O+JrPVnvpEnOd4CSPUJzzA== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by DU2P250MB0240.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:279::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7249.26; Fri, 2 Feb 2024 11:28:15 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d%5]) with mapi id 15.20.7202.031; Fri, 2 Feb 2024 11:28:14 +0000 Message-ID: Date: Fri, 2 Feb 2024 12:30:08 +0100 User-Agent: Mozilla Thunderbird Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: From: Andreas Rheinhardt In-Reply-To: X-TMN: [B/aIOovdeW+G28t822/PIZDbJqmanR9ZPh6zvbeAceQ=] X-ClientProxiedBy: FR3P281CA0209.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a5::8) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <7f5b30fa-3f15-4cd2-be10-ede65037540e@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|DU2P250MB0240:EE_ X-MS-Office365-Filtering-Correlation-Id: 805b2563-6c2b-495c-3df4-08dc23e20ba6 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 0QCzSSz9tq326+eS8gXTeryZ2qpH/H0e2eLxkWc54Ep8ExJ+mZiHxpodd0hcIN4OkcfpYVDP2wr5MK5teEgawyFniCNeDol4vmcKdmr6SipU3KYkxh2ws+7Lz17zJvY5cu7sS0exUh58Xl7J8R8HK1WUKWZm8os0/dAnsvXmJi+99NghCXFRJoK/8VrBM04+NEgEc7vcT8zf9D1AZ3nbvBeCJIvJ3EeY0OYJQXvceh7obQXbxlHmwtXVlYdhjlcdut2d9SIkM3eUp3ntLYhm8OPkKV5beyQJM3yCOVQQljUU2RRTJZlDp6oMvtiB4gT4EorDzyHoTrbArsVr+3YYJbFqTQbBioGwjkDYSU/OM3ddrBPdcYft2e7kfg7xO7vxifSX1ig9x5pB/u8e5fFBMWWc3ke8h4cy319Rvt9Qv4AZr3r6kJnp6bf4icnoq9ojuzKpcWnb39X40W9FOzxzVBtqhMDRCa+jvnDPqBvWy3ilbmx0QMufoxjDSAraJ3HcJ4Yc+W+kCPEoaw+rM802ZIV6ebDtZSimaoviJNyB2Xw9klgWcD4KRNHQs0DpH8ZA X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?WFpwRW5velV2MjRobUVjdEIrdVB6NE92NFUvMSsyS1BaK1dCeEJwSCtSZHlv?= =?utf-8?B?VXNDSVFESjBsNW5nVzBpSU9GN01ra21tT1VqRm5RQ1NoUDZhZHV5VS9pbWtT?= =?utf-8?B?TFQrQ3BRZTgrSU8vK2pvM0g3dWQrREwxTHkrd25xem52SENHdExPOTZ1cWZO?= =?utf-8?B?WVJsLzNEUUVSczNJOVkxWCs0VlV2NkpWeG9McFlIajJta041VlY5c1paamNw?= =?utf-8?B?Rmc2V3o4OG5BbmlwL0pPamo1YmxzQVpEMUJDYnk4WmpIb3AwUjhqaEtwRzFF?= =?utf-8?B?Q092Mmljc0pOSVdpS3ByL2RmY1ZOcFNLSlg5WTl1VEhKSFNVZm1HRFJqeVBG?= =?utf-8?B?QTE0NnFHeXVEZEZKNE9DVTlRUlBlNTZ6OFVMc3hsSHpCQWd6V2lMM1IxdHo0?= =?utf-8?B?RXFhbTlWMUs0Z1VDdWxXZEpFNXdjYUJjbW9WYkNTcks5alZmdjgwQ1FMWlMw?= =?utf-8?B?TUpXanRXV3FTSFR6bG9NRTBWQzhoZUl2N3dwdXVQMWtBamxEeDlZVUtMd2l3?= =?utf-8?B?bUFQTjNtTFhRUjNWUExrTkVpc1AraS9hZjdabDZXamdlcmJYRjRhMGFiTHht?= =?utf-8?B?OEtmME9YMGVHOC9hR0xTallOT2Q5QmpxOTBBSGgyODJSWkplMUF5UGVQT0g1?= =?utf-8?B?M1dSeXlMQlRMditZdHIwekZtQ052NG54bUhDVDJjM24zNlcxQUNrMkt1UUh4?= =?utf-8?B?MWNkbXZYK2VvNm1SRmo2REE5UENKSm5OWGNnd08wbm9NREtqalM3WGUrYjVv?= =?utf-8?B?K0trdWpXeVVCa1lSUHdjN2o1WTFpQzdNM3dyMFFwSkRBSGhJSlBXNFFKUk8w?= =?utf-8?B?ZzB5TkVISFVxUmk1RXpnc3ppWFYxQTVTSG5UOFE0ZTd5SzdpazVSazlIL2U3?= =?utf-8?B?Y1ZPZGpEODVGbFV2UktBRXlFV1Z4Q1NtbVVSRHN0cDJ3VFd6RWtEamFYZ2hE?= =?utf-8?B?aVNHZitJVExTTTkzRDI5dm0rU1BidUt2dFhDU3VsUG5nMGE3MmhlSjJjS3ho?= =?utf-8?B?YVdZUUkxMGNiK2xpZDNIcXhkaDlZYVlXSktmTkZhV3VLelRybGptMlZ5blQw?= =?utf-8?B?bmZhbytNVHJKeHFINEM4dmxoZFlIdGwwN2hvN3h4NzF1ek0zaUxpLzdMTUhk?= =?utf-8?B?TFBQODl1ZXo0Q3Q2TndJcU1EZzg2bzEyNldWQzFsSmdEb0IrRHdIWTUxYVMz?= =?utf-8?B?dFFFRzgwaThpVGpydExYSU9JOFdnK2hYR2tIa3llQ3ZHT2g3MjhBQ1ZERGwy?= =?utf-8?B?dGdQWFd6bXQ0bVErMVBVa2NzdXBkWU80d3ZCRlUyQnMxSEo1ZkUvUEZvRmN0?= =?utf-8?B?OXUvcmxSWU83VWZqVGpzNTQwTFNTSXhEZDNjcFZ0QVk3bUFLNG1hMjFoREVT?= =?utf-8?B?MkJqY1JoSlVsVUY4US9TWUR5QlhRckpScXNKNUJRU09IYU1tejh3NEJrNkpT?= =?utf-8?B?aEdCZFVmZS85dlJxL1FWalpnMHpCeHBTRGZqVUEyRUI2cXNyUTVORUtuVmUr?= =?utf-8?B?WmdKdDVSeDA0aFR2RzJ6QTZaaUFBYWs0anRndDgxL0o3Y3NMUE16ZWhMbXRk?= =?utf-8?B?OWNhS3NaUWlQeGI2NnFoSGNPZm1MQjQ3Q2RQOXVIMDN3WXpKY3BlOUk2WHZN?= =?utf-8?B?TU04LzZOUy9IUUR2OUMzdzhEeHdQbUxjRTdWanc5Vm9oc1l3VDdNZUtvYytt?= =?utf-8?Q?57RhUWNi2ycAnfix8H8y?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 805b2563-6c2b-495c-3df4-08dc23e20ba6 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Feb 2024 11:28:14.6495 (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: DU2P250MB0240 Subject: Re: [FFmpeg-devel] [PATCH 1/2] avcodec/leaddec: Remove unnecessary VLC structures 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: > One only needs the VLCElem[]. > > Signed-off-by: Andreas Rheinhardt > --- > libavcodec/leaddec.c | 48 ++++++++++++++++++++++---------------------- > 1 file changed, 24 insertions(+), 24 deletions(-) > > diff --git a/libavcodec/leaddec.c b/libavcodec/leaddec.c > index 4e97479b03..489fe501b6 100644 > --- a/libavcodec/leaddec.c > +++ b/libavcodec/leaddec.c > @@ -38,29 +38,29 @@ > #define LUMA_AC_BITS 10 > #define CHROMA_AC_BITS 10 > > -static VLC luma_dc_vlc; > -static VLC chroma_dc_vlc; > -static VLC luma_ac_vlc; > -static VLC chroma_ac_vlc; > +static VLCElem luma_dc_vlc[1 << LUMA_DC_BITS]; > +static VLCElem chroma_dc_vlc[1 << CHROMA_DC_BITS]; > +static VLCElem luma_ac_vlc[1160]; > +static VLCElem chroma_ac_vlc[1160]; > > static av_cold void lead_init_static_data(void) > { > - VLC_INIT_STATIC_FROM_LENGTHS(&luma_dc_vlc, LUMA_DC_BITS, FF_ARRAY_ELEMS(luma_dc_len), > - luma_dc_len, 1, > - 0, 0, 0, > - 0, 0, 1 << LUMA_DC_BITS); > - VLC_INIT_STATIC_FROM_LENGTHS(&chroma_dc_vlc, CHROMA_DC_BITS, FF_ARRAY_ELEMS(chroma_dc_len), > - chroma_dc_len, 1, > - 0, 0, 0, > - 0, 0, 1 << CHROMA_DC_BITS); > - VLC_INIT_STATIC_FROM_LENGTHS(&luma_ac_vlc, LUMA_AC_BITS, FF_ARRAY_ELEMS(luma_ac_len), > - luma_ac_len, 1, > - ff_mjpeg_val_ac_luminance, 1, 1, > - 0, 0, 1160); > - VLC_INIT_STATIC_FROM_LENGTHS(&chroma_ac_vlc, CHROMA_AC_BITS, FF_ARRAY_ELEMS(chroma_ac_len), > - chroma_ac_len, 1, > - ff_mjpeg_val_ac_chrominance, 1, 1, > - 0, 0, 1160); > + VLC_INIT_STATIC_TABLE_FROM_LENGTHS(luma_dc_vlc, LUMA_DC_BITS, FF_ARRAY_ELEMS(luma_dc_len), > + luma_dc_len, 1, > + NULL, 0, 0, > + 0, 0); > + VLC_INIT_STATIC_TABLE_FROM_LENGTHS(chroma_dc_vlc, CHROMA_DC_BITS, FF_ARRAY_ELEMS(chroma_dc_len), > + chroma_dc_len, 1, > + NULL, 0, 0, > + 0, 0); > + VLC_INIT_STATIC_TABLE_FROM_LENGTHS(luma_ac_vlc, LUMA_AC_BITS, FF_ARRAY_ELEMS(luma_ac_len), > + luma_ac_len, 1, > + ff_mjpeg_val_ac_luminance, 1, 1, > + 0, 0); > + VLC_INIT_STATIC_TABLE_FROM_LENGTHS(chroma_ac_vlc, CHROMA_AC_BITS, FF_ARRAY_ELEMS(chroma_ac_len), > + chroma_ac_len, 1, > + ff_mjpeg_val_ac_chrominance, 1, 1, > + 0, 0); > } > > typedef struct LeadContext { > @@ -199,9 +199,9 @@ static int lead_decode_frame(AVCodecContext *avctx, AVFrame * frame, > for (int mb_x = 0; mb_x < avctx->width / 16; mb_x++) > for (int b = 0; b < (yuv20p_half ? 4 : 6); b++) { > int luma_block = yuv20p_half ? 2 : 4; > - const VLCElem * dc_vlc = b < luma_block ? luma_dc_vlc.table : chroma_dc_vlc.table; > + const VLCElem * dc_vlc = b < luma_block ? luma_dc_vlc : chroma_dc_vlc; > int dc_bits = b < luma_block ? LUMA_DC_BITS : CHROMA_DC_BITS; > - const VLCElem * ac_vlc = b < luma_block ? luma_ac_vlc.table : chroma_ac_vlc.table; > + const VLCElem * ac_vlc = b < luma_block ? luma_ac_vlc : chroma_ac_vlc; > int ac_bits = b < luma_block ? LUMA_AC_BITS : CHROMA_AC_BITS; > int plane = b < luma_block ? 0 : b - (yuv20p_half ? 1 : 3); > int x, y; > @@ -231,9 +231,9 @@ static int lead_decode_frame(AVCodecContext *avctx, AVFrame * frame, > for (int j = 0; j < avctx->height / fields / 8; j++) > for (int i = 0; i < avctx->width / 8; i++) > for (int plane = 0; plane < 3; plane++) { > - const VLCElem * dc_vlc = !plane ? luma_dc_vlc.table : chroma_dc_vlc.table; > + const VLCElem * dc_vlc = !plane ? luma_dc_vlc : chroma_dc_vlc; > int dc_bits = !plane ? LUMA_DC_BITS : CHROMA_DC_BITS; > - const VLCElem * ac_vlc = !plane ? luma_ac_vlc.table : chroma_ac_vlc.table; > + const VLCElem * ac_vlc = !plane ? luma_ac_vlc : chroma_ac_vlc; > int ac_bits = !plane ? LUMA_AC_BITS : CHROMA_AC_BITS; > > ret = decode_block(s, &gb, dc_vlc, dc_bits, ac_vlc, ac_bits, Will apply this patchset tomorrow unless there are objections. - 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".