From patchwork Sun Jun 6 22:04:58 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Niedermayer X-Patchwork-Id: 28117 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:b214:0:0:0:0:0 with SMTP id b20csp2984460iof; Sun, 6 Jun 2021 15:06:11 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzVpvB5AV03UV8in5WYN3gIIy7ji9OEYsnickEa+kkwiLy3SRVJEWusXn1ljry5oGOA3OJT X-Received: by 2002:a17:906:ae92:: with SMTP id md18mr15180096ejb.410.1623017170853; Sun, 06 Jun 2021 15:06:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1623017170; cv=none; d=google.com; s=arc-20160816; b=nDpsD4exHq5wkDbcKY1HzQPtgoqNrnPlau4QaY+hPK29isRxknD4DAvk4WTjP7nXBK DejaEua80uRkZY6QosXqRPJARqmQOQtnKKfuKkJG7Za9fLDZJyG8oEbCNoel7P4pz15M LjBO4zEoke7Q0TPQfwPuFH4p9ii1D0X9z96pU8u4EOgMJo66pcdCsK26bcAlkLePFyfc C47QpTIgL+aQ5WQd7ETsW4z8kQ2vgSTdKANjoCW7vm9H0/DBMotCT6bUOzuKEPnLRu0Z nEgRUBTNnlRGa4vZ/K9e+/XdjLqstd54a4EXDAqma/LaA/vSWQeNyrSGsAAznhWDuCgN LTEw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:message-id:date:to:from:delivered-to; bh=cEHCUfRgpdFJjs/mb9zomDhBOP00KCSoeHXWA39Lgtc=; b=BEJWQE8dXKygxa7wKa1EEjArFHVvd2L7PEcdf4DuCwbOpCuOpIgbfwoAfxkNT2CWn+ CLwohnlK9OIv6ZxG1TE+Iwsi9ol1zx0uxrv9vvq/tiq8X6jagUFexX5+/eLoTSkFsvYf KS587XlY9F9WvSDy+gEosz+YOpHroqQyqKFsJhudeyqz1uUf+s1yxN8FTCbnW3JNsp6j JvLwNor/PUz0fXBvPjcgpD54L0s/1pUhN0+cEPZGPrjxmIVS9oFLebT6vA7GavsvtiN1 kInZsyTdlw3/gxxj+17Sp4j/865BanvO7ntEHLWe4ayvGX6OsH5Qe6VhsxFINjPxzC0C QJaA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id q18si13566027edi.368.2021.06.06.15.06.10; Sun, 06 Jun 2021 15:06:10 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4A3CF68A309; Mon, 7 Jun 2021 01:06:06 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from vie01a-dmta-pe01-1.mx.upcmail.net (vie01a-dmta-pe01-1.mx.upcmail.net [62.179.121.154]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1BBEE689CCF for ; Mon, 7 Jun 2021 01:05:59 +0300 (EEST) Received: from [172.31.216.235] (helo=vie01a-pemc-psmtp-pe12.mail.upcmail.net) by vie01a-dmta-pe01.mx.upcmail.net with esmtp (Exim 4.92) (envelope-from ) id 1lq0u6-0026p2-0N for ffmpeg-devel@ffmpeg.org; Mon, 07 Jun 2021 00:05:58 +0200 Received: from localhost ([213.47.68.29]) by vie01a-pemc-psmtp-pe12.mail.upcmail.net with ESMTP id q0t8lua6EljeHq0t8lyhZ9; Mon, 07 Jun 2021 00:04:58 +0200 X-Env-Mailfrom: michael@niedermayer.cc X-Env-Rcptto: ffmpeg-devel@ffmpeg.org X-SourceIP: 213.47.68.29 X-CNFS-Analysis: v=2.3 cv=BoHjPrf5 c=1 sm=1 tr=0 a=2hcxjKEKjp0CzLx6oWAm4g==:117 a=2hcxjKEKjp0CzLx6oWAm4g==:17 a=MKtGQD3n3ToA:10 a=1oJP67jkp3AA:10 a=GEAsPZ9sns4A:10 a=ZZnuYtJkoWoA:10 a=ovPJjhwoNtlljyx2AC4A:9 From: Michael Niedermayer To: FFmpeg development discussions and patches Date: Mon, 7 Jun 2021 00:04:58 +0200 Message-Id: <20210606220458.32440-1-michael@niedermayer.cc> X-Mailer: git-send-email 2.17.1 X-CMAE-Envelope: MS4wfOBtnbbNMwlFU8rZXgLUf8McHDgeKpPaROgjj6MXQrbswwFsz+Xh41ODGIAy6fOWbiLulgU+TfX1Sv1IikaH/QnBCIrZ+Bh8OcQOrzQT5czMROdR6VOG zQ+E8ctOkM2mAorNOCw2GJzaUd9tr5EsEbztw88zrPecH7qm5Ov0FNCM Subject: [FFmpeg-devel] [PATCH] avcodec/elbg: Increase some fields to 64bit 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 MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: TeYINjKDZMm2 Fixes: Ticket8312 Fixes: Ticket8321 Signed-off-by: Michael Niedermayer --- libavcodec/elbg.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/libavcodec/elbg.c b/libavcodec/elbg.c index b6049c938b..63659dda8b 100644 --- a/libavcodec/elbg.c +++ b/libavcodec/elbg.c @@ -45,12 +45,12 @@ typedef struct cell_s { * ELBG internal data */ typedef struct elbg_data { - int error; + int64_t error; int dim; int numCB; int *codebook; cell **cells; - int *utility; + int64_t *utility; int64_t *utility_inc; int *nearest_cb; int *points; @@ -265,7 +265,8 @@ static void update_utility_and_n_cb(elbg_data *elbg, int idx, int newutility) */ static void try_shift_candidate(elbg_data *elbg, int idx[3]) { - int j, k, olderror=0, newerror, cont=0; + int j, k, cont=0; + int64_t olderror=0, newerror; int newutility[3]; int *newcentroid[3] = { elbg->scratchbuf, @@ -375,19 +376,20 @@ int avpriv_do_elbg(int *points, int dim, int numpoints, int *codebook, int dist; elbg_data elbg_d; elbg_data *elbg = &elbg_d; - int i, j, k, last_error, steps = 0, ret = 0; + int i, j, k, steps = 0, ret = 0; int *dist_cb = av_malloc_array(numpoints, sizeof(int)); int *size_part = av_malloc_array(numCB, sizeof(int)); cell *list_buffer = av_malloc_array(numpoints, sizeof(cell)); cell *free_cells; int best_dist, best_idx = 0; + int64_t last_error; - elbg->error = INT_MAX; + elbg->error = INT64_MAX; elbg->dim = dim; elbg->numCB = numCB; elbg->codebook = codebook; elbg->cells = av_malloc_array(numCB, sizeof(cell *)); - elbg->utility = av_malloc_array(numCB, sizeof(int)); + elbg->utility = av_malloc_array(numCB, sizeof(*elbg->utility)); elbg->nearest_cb = closest_cb; elbg->points = points; elbg->utility_inc = av_malloc_array(numCB, sizeof(*elbg->utility_inc)); @@ -405,7 +407,7 @@ int avpriv_do_elbg(int *points, int dim, int numpoints, int *codebook, free_cells = list_buffer; last_error = elbg->error; steps++; - memset(elbg->utility, 0, numCB*sizeof(int)); + memset(elbg->utility, 0, numCB*sizeof(*elbg->utility)); memset(elbg->cells, 0, numCB*sizeof(cell *)); elbg->error = 0;