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 D7F1B491D0 for ; Wed, 6 Mar 2024 16:27:15 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 3F27868CB56; Wed, 6 Mar 2024 18:27:14 +0200 (EET) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05olkn2086.outbound.protection.outlook.com [40.92.90.86]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id AC3276808F5 for ; Wed, 6 Mar 2024 18:27:08 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OXHAx5U62ONQctt/qVUySQvpEQdn3XdJHkDTe2o2ZhErx0u6movGBIFqIDkAgNJLp1e0XYwFksOUXb/ciICLL6PQJoeZtsKoaTle419PG49lcpJbz/teg3Ty5g/XLHOW2nHCZj/wec1ddLIl9hK87LHOUFhl7C5EfBYaI7HUX1HmKlygqjal/1tUUh/dO0LPhjmFRQdBtxrN9MLky1oCLIEM6YAcqD4M6XASoAr0v+LKKnKR7TfjUVd6VuXuYIODCFigrgd9FSnFVVXoRAchdyaw7gMHWp/aNg5JSbH68MZIW0w2tuktbOn+6uUYB98z99Ob0BG0ZKSyGDIMkhbM/Q== 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=JwiVXtuYXxd1eZjCsm5NntptwhU9IRa+/+Uvs4efM7g=; b=jiuGcp1E18Pvwqwf1WLUIG9EAQmgqggNb6B6D2TFaITa1aSozcIpoiFTsserLefiWqekMsB0YhpSU9DvRdB1TztZ/gt4wwrfpMsJint06oQ0s1ohRcEu9PGVECdL4Y1cFVFd942ZDiQADr7Ig1l5U/JiYRDQQo8f/N1lzpQLc8epQEJCFa7pQgv8OtjiTX+GmCS1PzeSnw+5gWZ7FJFWIvhMNhRcTUmNSvL5y2yRV8MdT0h10RukLmwc5/M64Czmww26KgXkStjrJUZb4ioDXSe6DB94kVKwo4Apf0juf/V9hvrhe7WauXk1IpS3j7vgE1he/8Nd83xGw3mmQSsGMg== 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=JwiVXtuYXxd1eZjCsm5NntptwhU9IRa+/+Uvs4efM7g=; b=ghVEWh0gsopT3TNhpPLkzKg/s5nPX6UHClEurxshojJD2FAgMD0eZX609vIRXGGE5o198vZ4I3FshkY6tlqv1SSkpZ0yrf3pWPrkr1XVj3mkkkSmX5ZxK6JJ42zBA3UoL1EtnlkIZUTNkyZ1RLjrSs+ZOgcUbNVNeKybrwh8ELkNuhKXUOQk2pvj/yk+/w5sgBxTeUavT3Q/YSl6I0IeXZzZ0WNygvft+KDTEuV7iPTejrKnvEkyRuPGaQQ9A865X/EG//SVHLGUF2dRsHnFWe4tt0HQOGn7F0/jNsuR9JJHhmZWFCtsDRX9iA6sD4XtfR9wuv/992199u43SD7Rvg== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by AM8P250MB0262.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:329::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7362.24; Wed, 6 Mar 2024 16:27:07 +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.7316.023; Wed, 6 Mar 2024 16:27:07 +0000 Message-ID: Date: Wed, 6 Mar 2024 17:27:05 +0100 User-Agent: Mozilla Thunderbird Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: From: Andreas Rheinhardt In-Reply-To: X-TMN: [kBR2aprtn70qwG7D26wRc3sGea8dORiWAR7h1oi7qYM=] X-ClientProxiedBy: ZR2P278CA0053.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:53::11) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <19b8f69e-8433-49b4-aef6-4d245d957a8d@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|AM8P250MB0262:EE_ X-MS-Office365-Filtering-Correlation-Id: e98897aa-6b94-4062-a070-08dc3dfa43da X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: CF+yMBQzag/l285MEZKFTeL7YgW2w1gIRBbrDyzxCQwXOVg7GWDgAWw2quj2PklT9kOc9bOuPIFtf95BArrXEkQU2uXIYP3jHmTUYr6YcwviAXjKdWXhuWiXEqv02C4/6gT2c0bp5gG4JB8Kr2XfV9Q2bS2d14W14wi3N+6G7DjYvyDwOjPmGWbU5uTwbLdj1qkjthodCkPLqjkb5dkGHRYDjno68/J/Xo0ooqvzgf5bNikQXVeHMnh6VhnlU5/h/Lxf41c9ovwEbZX92zg/343Nlr6GicvmburfgQjfkfQ1dN4IOKLgF7LNRffgX1ujbv8a5GUNCV1hjgK8A2PSPAEqituLNnTbDnzVpCoUwBhemqBWgvHzxVIBKZOeS32LrNkT1meCC6MSh0EE5hozZXitCW8S9DlpYGtnfvFibCACFXfSdzvkSmBsJbTUeNiE24yjfIqkVrve6RVu5sZTcSFg+4yZE/wgkp+Gl/4BL5bJMCp+dIE9bgEmiggrelIOKEWFwB+tUjrDS2h5cnNs7SzxmNkCCg5jWyl6JHmgAK1ALt3kxwRodDiaRwHcLMyd X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VXFrdlRobmZtVitSVFF1Q2I1SmxqMlRwamdPc1Q3VWhiVXF1Rk9TVS92eTFh?= =?utf-8?B?VnRiYkg1Mi9lNjdMZGRMSHBsMzY0VUtKdmFsamZYSjhkeWVGQ2M2UXVlUnhJ?= =?utf-8?B?ZlByblhKY3JJY1dpUysvVFhVQmdmKzk2di9tS2diaXFPK2N6RnNUMXVqUllS?= =?utf-8?B?RnZEMWdERkpUZlB0NjAzVDh5dEp0NDg2VXVsd3c0U29hdmo0NjFlaGYxZEd1?= =?utf-8?B?T1VKVjJ3eWlxZzdjbXJmZDN2VWcxQ1krOEdCN3FQeGdlNkc0NktyVHlxSmRl?= =?utf-8?B?QVYrdUxuQUxrUW01WEpsTW02TGpGdDhwV0NXVnQ0MlZrU3ZaWSsydjN3SEwv?= =?utf-8?B?Qko5MC9HbjNEUnp1RWdJWlQ2QTZnOXlqQ1lKcE4yV2lRaTB4MEhmN01hUXBM?= =?utf-8?B?TFhBQkhiVkFYN0JPTGNHWXlaOUlPUndzcnI0NnFLNndsUGtVZWRKdC9EaExV?= =?utf-8?B?bU1ycUFCRWZwQkEzRERpMDNjclVRL2hXUE8wQVhuWlVneXk3UFJaL1pGY01n?= =?utf-8?B?MTk4M2Jtem8wZmN3bHpFMU1GeXJOeFFoTmFqeFNRa3VJRjlESDM5aHNBM0xF?= =?utf-8?B?bUVnS1VYY3pueXQvWlY5RWZUQUhwODk5L0JFNlpPSUxlQjlXeVNPelFrRlYx?= =?utf-8?B?R0lQMTArbEt5YVI5N1RCend2QVQwQlJUbEhYdFUrYXJYcjNoTjJCYW81bmpa?= =?utf-8?B?RDYxTDVsYThEWU5EdnhXM2JKQkdIRnpSZGlnKzBWQUZ4dThiTkNOeVNteVVh?= =?utf-8?B?ellBZjlGR2plcEVBL3ZhYmxNY2R1anJvS3BtUWZ6MGZDSktNRXphYmwyZ1J6?= =?utf-8?B?VEh6bytuZmtWUk80K2c2bU5CNEIxcXFaUVBjb0h5TnBiWk1aNkJNZEdFRFQz?= =?utf-8?B?OGFaVUsvWmVlblVMRWJMNHJ5bnBDMWNrYzNsUFlEcUMxV0MvbGJtVGkwYWR4?= =?utf-8?B?Z0xPTERJaS9KT1VOdlIySWNDcEFrTTE4SmpKaFk4SUE4aDlEdVBDa05vdkY1?= =?utf-8?B?empnV3JIeFBFSERlRG12WTlLSnZ2U0pnT1dlVkthdGluNndaRHQ4M3Nja0dv?= =?utf-8?B?M1FwbXNFakVvLzRUeWhreDA2bTRxdjBHbXZmNVN5Ym9jdCsvTFVIZnU0aE1Z?= =?utf-8?B?dFdTajlhSXFOYmpsamhRSDRwaU8xQ3JmSW5UNlRIbzAyMktUMU9lczVOVE1V?= =?utf-8?B?NDRZcEpBTStuUitqbTZoQmNyUXo0TlhYbXVPOFlxdUx5OTFYRDJrMjRIM284?= =?utf-8?B?MVplRFVFa1FtRlpFemM3djBYcGZ4RGhpQWM4OUt0YmhBRllVOFVVeWluVjJs?= =?utf-8?B?SHhWYVlpTGpTK1B3a1N0L3pBRTRDOUtoNzBDdmRHT2pyZWZPQkk3cTlMNnl5?= =?utf-8?B?Vk5mbURlaUhzZTRKM1JUeFpiMGNocnZlaFpHRFZHOGpRbUlXT0ZGNjR5ZVZO?= =?utf-8?B?US8xaEZhWWFVS3F3VlRadlphVkxJdUl1bHVRMi9KWEg4UjVjQ1Rza09uMEtE?= =?utf-8?B?aXV0RXZJejNzTjlNOGl6TUt6VlA2Wm42WVJPbW96eXdLcXE4ODRMcTc4UWhK?= =?utf-8?B?V3RDVEY1Ky9vdFBOK3V4encxRTAxWHM5ZnV2VXJKMnk3Uk9mSngvTmZhV1FS?= =?utf-8?B?K1UwUUVGWVNPcHp3dzB3eWV0bkRtUklUNDBjRm42b1IxM0VyY0dUaTFxTi9h?= =?utf-8?B?a0pKZHZwb0YwemtucXQ1ZzNncklSbmdMWjA1VnNUVU9yQ0NYYmxkeld3PT0=?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e98897aa-6b94-4062-a070-08dc3dfa43da X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Mar 2024 16:27:07.0682 (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: AM8P250MB0262 Subject: Re: [FFmpeg-devel] [PATCH 1/2] avcodec/hq_hqadata: Move data in a header 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: > It is only used by hq_hqa.c, so said header can simply > be included there. > Also move the code to initialize the VLCs to hq_hqa.c. > > Signed-off-by: Andreas Rheinhardt > --- > libavcodec/Makefile | 3 +- > libavcodec/hq_hqa.c | 39 +++++++++++---- > libavcodec/hq_hqa.h | 60 ----------------------- > libavcodec/{hq_hqadata.c => hq_hqadata.h} | 34 ++++++------- > 4 files changed, 48 insertions(+), 88 deletions(-) > delete mode 100644 libavcodec/hq_hqa.h > rename libavcodec/{hq_hqadata.c => hq_hqadata.h} (99%) > > diff --git a/libavcodec/Makefile b/libavcodec/Makefile > index eadaab5ec4..cf81a55edb 100644 > --- a/libavcodec/Makefile > +++ b/libavcodec/Makefile > @@ -451,8 +451,7 @@ OBJS-$(CONFIG_HEVC_V4L2M2M_DECODER) += v4l2_m2m_dec.o > OBJS-$(CONFIG_HEVC_V4L2M2M_ENCODER) += v4l2_m2m_enc.o > OBJS-$(CONFIG_HEVC_VIDEOTOOLBOX_ENCODER) += videotoolboxenc.o > OBJS-$(CONFIG_HNM4_VIDEO_DECODER) += hnm4video.o > -OBJS-$(CONFIG_HQ_HQA_DECODER) += hq_hqa.o hq_hqadata.o hq_hqadsp.o \ > - canopus.o > +OBJS-$(CONFIG_HQ_HQA_DECODER) += hq_hqa.o hq_hqadsp.o canopus.o > OBJS-$(CONFIG_HQX_DECODER) += hqx.o hqxvlc.o hqxdsp.o canopus.o > OBJS-$(CONFIG_HUFFYUV_DECODER) += huffyuv.o huffyuvdec.o > OBJS-$(CONFIG_HUFFYUV_ENCODER) += huffyuv.o huffyuvenc.o > diff --git a/libavcodec/hq_hqa.c b/libavcodec/hq_hqa.c > index 0df7995f84..510a66fd91 100644 > --- a/libavcodec/hq_hqa.c > +++ b/libavcodec/hq_hqa.c > @@ -21,6 +21,7 @@ > #include > > #include "libavutil/attributes.h" > +#include "libavutil/mem_internal.h" > > #include "avcodec.h" > #include "bytestream.h" > @@ -28,9 +29,9 @@ > #include "codec_internal.h" > #include "decode.h" > #include "get_bits.h" > - > -#include "hq_hqa.h" > +#include "hq_hqadata.h" > #include "hq_hqadsp.h" > +#include "vlc.h" > > /* HQ/HQA slices are a set of macroblocks belonging to a frame, and > * they usually form a pseudorandom pattern (probably because it is > @@ -48,6 +49,15 @@ > * while lavc simply aligns coded_width and coded_height. > */ > > +typedef struct HQContext { > + AVCodecContext *avctx; > + HQDSPContext hqhqadsp; > + > + VLC hq_ac_vlc; > + VLC hqa_cbp_vlc; > + DECLARE_ALIGNED(16, int16_t, block)[12][64]; > +} HQContext; > + > static inline void put_blocks(HQContext *c, AVFrame *pic, > int plane, int x, int y, int ilace, > int16_t *block0, int16_t *block1) > @@ -70,9 +80,9 @@ static int hq_decode_block(HQContext *c, GetBitContext *gb, int16_t block[64], > > if (!is_hqa) { > block[0] = get_sbits(gb, 9) * 64; > - q = ff_hq_quants[qsel][is_chroma][get_bits(gb, 2)]; > + q = hq_quants[qsel][is_chroma][get_bits(gb, 2)]; > } else { > - q = ff_hq_quants[qsel][is_chroma][get_bits(gb, 2)]; > + q = hq_quants[qsel][is_chroma][get_bits(gb, 2)]; > block[0] = get_sbits(gb, 9) * 64; > } > > @@ -81,10 +91,10 @@ static int hq_decode_block(HQContext *c, GetBitContext *gb, int16_t block[64], > if (val < 0) > return AVERROR_INVALIDDATA; > > - pos += ff_hq_ac_skips[val]; > + pos += hq_ac_skips[val]; > if (pos >= 64) > break; > - block[ff_zigzag_direct[pos]] = (int)(ff_hq_ac_syms[val] * (unsigned)q[pos]) >> 12; > + block[ff_zigzag_direct[pos]] = (int)(hq_ac_syms[val] * (unsigned)q[pos]) >> 12; > pos++; > } > > @@ -124,10 +134,10 @@ static int hq_decode_frame(HQContext *ctx, AVFrame *pic, GetByteContext *gbc, > int slice, start_off, next_off, i, ret; > > if ((unsigned)prof_num >= NUM_HQ_PROFILES) { > - profile = &ff_hq_profile[0]; > + profile = &hq_profile[0]; > avpriv_request_sample(ctx->avctx, "HQ Profile %d", prof_num); > } else { > - profile = &ff_hq_profile[prof_num]; > + profile = &hq_profile[prof_num]; > av_log(ctx->avctx, AV_LOG_VERBOSE, "HQ Profile %d\n", prof_num); > } > > @@ -362,6 +372,17 @@ static int hq_hqa_decode_frame(AVCodecContext *avctx, AVFrame *pic, > return avpkt->size; > } > > +static av_cold int hq_init_vlcs(HQContext *c) > +{ > + int ret = vlc_init(&c->hqa_cbp_vlc, 5, FF_ARRAY_ELEMS(cbp_vlc_lens), > + cbp_vlc_lens, 1, 1, cbp_vlc_bits, 1, 1, 0); > + if (ret < 0) > + return ret; > + > + return vlc_init(&c->hq_ac_vlc, 9, NUM_HQ_AC_ENTRIES, > + hq_ac_bits, 1, 1, hq_ac_codes, 2, 2, 0); > +} > + > static av_cold int hq_hqa_decode_init(AVCodecContext *avctx) > { > HQContext *ctx = avctx->priv_data; > @@ -369,7 +390,7 @@ static av_cold int hq_hqa_decode_init(AVCodecContext *avctx) > > ff_hqdsp_init(&ctx->hqhqadsp); > > - return ff_hq_init_vlcs(ctx); > + return hq_init_vlcs(ctx); > } > > static av_cold int hq_hqa_decode_close(AVCodecContext *avctx) > diff --git a/libavcodec/hq_hqa.h b/libavcodec/hq_hqa.h > deleted file mode 100644 > index 71aa36706c..0000000000 > --- a/libavcodec/hq_hqa.h > +++ /dev/null > @@ -1,60 +0,0 @@ > -/* > - * Canopus HQ/HQA decoder > - * > - * This file is part of FFmpeg. > - * > - * FFmpeg is free software; you can redistribute it and/or > - * modify it under the terms of the GNU Lesser General Public > - * License as published by the Free Software Foundation; either > - * version 2.1 of the License, or (at your option) any later version. > - * > - * FFmpeg is distributed in the hope that it will be useful, > - * but WITHOUT ANY WARRANTY; without even the implied warranty of > - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > - * Lesser General Public License for more details. > - * > - * You should have received a copy of the GNU Lesser General Public > - * License along with FFmpeg; if not, write to the Free Software > - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA > - */ > - > -#ifndef AVCODEC_HQ_HQA_H > -#define AVCODEC_HQ_HQA_H > - > -#include > - > -#include "libavutil/mem_internal.h" > - > -#include "avcodec.h" > -#include "hq_hqadsp.h" > -#include "vlc.h" > - > -#define NUM_HQ_AC_ENTRIES 746 > -#define NUM_HQ_PROFILES 22 > -#define NUM_HQ_QUANTS 16 > - > -typedef struct HQContext { > - AVCodecContext *avctx; > - HQDSPContext hqhqadsp; > - > - VLC hq_ac_vlc; > - VLC hqa_cbp_vlc; > - DECLARE_ALIGNED(16, int16_t, block)[12][64]; > -} HQContext; > - > -typedef struct HQProfile { > - const uint8_t *perm_tab; > - int width, height; > - int num_slices; > - int tab_w, tab_h; > -} HQProfile; > - > -extern const int32_t * const ff_hq_quants[16][2][4]; > -extern const HQProfile ff_hq_profile[NUM_HQ_PROFILES]; > - > -extern const uint8_t ff_hq_ac_skips[NUM_HQ_AC_ENTRIES]; > -extern const int16_t ff_hq_ac_syms [NUM_HQ_AC_ENTRIES]; > - > -int ff_hq_init_vlcs(HQContext *c); > - > -#endif /* AVCODEC_HQ_HQA_H */ > diff --git a/libavcodec/hq_hqadata.c b/libavcodec/hq_hqadata.h > similarity index 99% > rename from libavcodec/hq_hqadata.c > rename to libavcodec/hq_hqadata.h > index 438bdf093a..f71d8bd4fa 100644 > --- a/libavcodec/hq_hqadata.c > +++ b/libavcodec/hq_hqadata.h > @@ -1,5 +1,5 @@ > /* > - * Canopus HQ/HQA decoder > + * Canopus HQ/HQA data > * > * This file is part of FFmpeg. > * > @@ -18,7 +18,18 @@ > * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA > */ > > -#include "hq_hqa.h" > +#include > + > +#define NUM_HQ_AC_ENTRIES 746 > +#define NUM_HQ_PROFILES 22 > +#define NUM_HQ_QUANTS 16 > + > +typedef struct HQProfile { > + const uint8_t *perm_tab; > + int width, height; > + int num_slices; > + int tab_w, tab_h; > +} HQProfile; > > #define MAT_SIZE 64 > > @@ -1123,7 +1134,7 @@ static const int32_t qmat4D[MAT_SIZE] = { > 0x24CF8B9, 0x384AC0F, 0x709581F, 0x3CDBBA7, > }; > > -const int32_t *const ff_hq_quants[NUM_HQ_QUANTS][2][4] = { > +static const int32_t *const hq_quants[NUM_HQ_QUANTS][2][4] = { > { { qmat00, qmat02, qmat06, qmat0E }, { qmat01, qmat03, qmat07, qmat0F } }, > { { qmat02, qmat06, qmat0E, qmat16 }, { qmat03, qmat07, qmat0F, qmat17 } }, > { { qmat04, qmat0A, qmat12, qmat1E }, { qmat05, qmat0B, qmat13, qmat1F } }, > @@ -1289,7 +1300,7 @@ static const uint16_t hq_ac_codes[NUM_HQ_AC_ENTRIES] = { > 0xFFFE, 0xFFFF, > }; > > -const uint8_t ff_hq_ac_skips[NUM_HQ_AC_ENTRIES] = { > +static const uint8_t hq_ac_skips[NUM_HQ_AC_ENTRIES] = { > 0, 0, 0, 0, 64, 1, 1, 0, 0, 0, 0, 2, 2, 1, 1, 0, > 0, 0, 0, 3, 3, 4, 4, 0, 0, 0, 0, 5, 5, 6, 6, 2, > 2, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 7, 7, 8, 8, 9, > @@ -1339,7 +1350,7 @@ const uint8_t ff_hq_ac_skips[NUM_HQ_AC_ENTRIES] = { > 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, > }; > > -const int16_t ff_hq_ac_syms[NUM_HQ_AC_ENTRIES] = { > +static const int16_t hq_ac_syms[NUM_HQ_AC_ENTRIES] = { > 1, -1, 2, -2, 0, 1, -1, 3, > -3, 4, -4, 1, -1, 2, -2, 5, > -5, 6, -6, 1, -1, 1, -1, 7, > @@ -8340,7 +8351,7 @@ static const uint8_t hq_tab_21[] = { > }; > > /* List of profiles, order is important */ > -const HQProfile ff_hq_profile[NUM_HQ_PROFILES] = { > +static const HQProfile hq_profile[NUM_HQ_PROFILES] = { > { hq_tab_11, 160, 120, 8, 10, 8 }, // case 0 (default) = case 11 > { hq_tab_01, 720, 480, 8, 25, 54 }, > { hq_tab_02, 720, 486, 8, 15, 93 }, > @@ -8364,14 +8375,3 @@ const HQProfile ff_hq_profile[NUM_HQ_PROFILES] = { > { hq_tab_20, 704, 480, 8, 20, 66 }, > { hq_tab_21, 704, 576, 8, 24, 66 }, > }; > - > -av_cold int ff_hq_init_vlcs(HQContext *c) > -{ > - int ret = vlc_init(&c->hqa_cbp_vlc, 5, FF_ARRAY_ELEMS(cbp_vlc_lens), > - cbp_vlc_lens, 1, 1, cbp_vlc_bits, 1, 1, 0); > - if (ret < 0) > - return ret; > - > - return vlc_init(&c->hq_ac_vlc, 9, NUM_HQ_AC_ENTRIES, > - hq_ac_bits, 1, 1, hq_ac_codes, 2, 2, 0); > -} Will apply this patchset (with the proper inclusion guard in the header) 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".