From patchwork Tue Nov 10 10:48:07 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 23548 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 391A444B3FB for ; Tue, 10 Nov 2020 13:05:32 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id C3EED68BF14; Tue, 10 Nov 2020 12:50:44 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr1-f66.google.com (mail-wr1-f66.google.com [209.85.221.66]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 119A368BE3C for ; Tue, 10 Nov 2020 12:50:29 +0200 (EET) Received: by mail-wr1-f66.google.com with SMTP id r17so8232522wrw.1 for ; Tue, 10 Nov 2020 02:50:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references:reply-to :mime-version:content-transfer-encoding; bh=OwOOln7Y8l6DpTbU3wTiz+U9wmPHHZ5a8PQJkfbFPxQ=; b=Xm527cFKEsaktk9ufckWdu+T+9QqNRXH3A7nYiiJcQvBf3ux2XRj0QO7IjyyS73c9T bvdefwp1M3mFRglB6aDjDQeoDK0TDKVxRU49Z422WZtzyc6Zm53rHQXWjL+W3vv4oGsy TlY0mCV/HSTylbvj5hH1UCfjMmiQzZn4+AAtEKvsvSZRZSORZbhSDLBxLB90suV4qTFN R17j9esIOKuEKOg1XMou/tg3mPh9z+RcR55hRsXwhPgtx7599V2CzwweH9x51lXwPTmC g5kgF2ZeUETOmhltzhP3idPdPeACBn//8yDl3CgsWBN7c6l22UpuCwfytGtw+iz18VS3 NLaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:reply-to:mime-version:content-transfer-encoding; bh=OwOOln7Y8l6DpTbU3wTiz+U9wmPHHZ5a8PQJkfbFPxQ=; b=NZoD64cpJKFxFiQuaOjCUgANNLnxlnpArkwBxK0KssxRf3tPwHYBpJuk5rLj9E0k+6 H2CL5bpbNtLvpLgRM+UO2OXBRL1BkRB8qEYF4GGUKAx4QZgBlYcccIdtLLAEaEo5VTGl GySM1arCpB3XFBjMO14ZLGR84G34A04R+VCn3xnXOauZvV4g8dpnsUv2TTikczotbvGh UDszCIjajH2o/9xPurFlCnddrZ6LoqXdPvXcqLapVYMN8LQ23dBRJ56k54CTiwYPIZlN 5zw1gnCKfNJ/Pa7RGyCd5yYalt3tMEbyYwbchywHP+GMK14RLZC9C22sbHdl+OnUMaF5 s1UQ== X-Gm-Message-State: AOAM532xB79bLQZYkt5kqfBjRhsLZFDl0DU9tya6O8N+LX8XdXB9zHz3 0sq/PiJbxVnUSa2LE4k8oveBT6Ewk3I= X-Google-Smtp-Source: ABdhPJzVDHOK0XGL8jm1pBhdgZnE8/w3wPSarEcqvCT8a2ATNT+uDyEVBIs33MlwVXthaS2iV54gzA== X-Received: by 2002:a5d:44c1:: with SMTP id z1mr19171149wrr.375.1605005428269; Tue, 10 Nov 2020 02:50:28 -0800 (PST) Received: from sblaptop.fritz.box (ipbcc1aa4b.dynamic.kabel-deutschland.de. [188.193.170.75]) by smtp.gmail.com with ESMTPSA id l24sm2572543wmi.7.2020.11.10.02.50.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Nov 2020 02:50:27 -0800 (PST) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 10 Nov 2020 11:48:07 +0100 Message-Id: <20201110104851.321029-71-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20201110104851.321029-1-andreas.rheinhardt@gmail.com> References: <20201110104851.321029-1-andreas.rheinhardt@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 070/114] avcodec/atrac3plus: Simplify creating VLCs X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 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 Cc: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Use ff_init_vlc_from_lengths() to offload the computation of the codes. Signed-off-by: Andreas Rheinhardt --- libavcodec/atrac3plus.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/libavcodec/atrac3plus.c b/libavcodec/atrac3plus.c index 6b046a887e..8ae5d6b8f9 100644 --- a/libavcodec/atrac3plus.c +++ b/libavcodec/atrac3plus.c @@ -51,9 +51,7 @@ static av_cold void build_canonical_huff(const uint8_t *cb, const uint8_t *xlat, int *tab_offset, VLC *out_vlc) { int i, b; - uint16_t codes[256]; uint8_t bits[256]; - unsigned code = 0; int index = 0; int min_len = *cb++; // get shortest codeword length int max_len = *cb++; // get longest codeword length @@ -62,17 +60,15 @@ static av_cold void build_canonical_huff(const uint8_t *cb, const uint8_t *xlat, for (i = *cb++; i > 0; i--) { av_assert0(index < 256); bits[index] = b; - codes[index] = code++; index++; } - code <<= 1; } out_vlc->table = &tables_data[*tab_offset]; out_vlc->table_allocated = 1 << max_len; - ff_init_vlc_sparse(out_vlc, max_len, index, bits, 1, 1, codes, 2, 2, - xlat, 1, 1, INIT_VLC_USE_NEW_STATIC); + ff_init_vlc_from_lengths(out_vlc, max_len, index, bits, 1, + xlat, 1, 1, 0, INIT_VLC_USE_NEW_STATIC); *tab_offset += 1 << max_len; }