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 B216C43FD7 for ; Tue, 23 Aug 2022 23:34:46 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1E42A68B9D5; Wed, 24 Aug 2022 02:34:43 +0300 (EEST) Received: from mail-vs1-f52.google.com (mail-vs1-f52.google.com [209.85.217.52]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1231F68ABEF for ; Wed, 24 Aug 2022 02:34:36 +0300 (EEST) Received: by mail-vs1-f52.google.com with SMTP id p6so15606080vsr.9 for ; Tue, 23 Aug 2022 16:34:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc; bh=01BfsgOJYOXfeEcRewQ2AoXZ/H8nTxutghdK4oCytgI=; b=HLDvSQv13dZ44Ylk+nJB50TXOEBQs/LANIT/1J7bZI6V6xl7eRv27OUfAm15BTrL3Y 0NkvpixN5WQleXRGst4dnqd9tSCSTeBvQ4GsiaFmYKL9RiQWbLNrCdi858nwgA2/GtSk MVz5Vxtc57gh/HV+P7Yx85XGOmiOlCnbUKPfc33hzAVt5sI7cS24xBNPPLoT3eP6BLzs E5oGxvDV3S9Ffv+O3YVSRXQ+fIeV1ySGLoJkcved6K1rDNEB4pPPbWjfAAT2xD3lcS3d 2458FAsmBCSXY9Qj7oCl8bkQVK1Usj80wM8Cu0B5ZXmeAPFR/0APOzeav18hFRkUc4mJ 5q/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc; bh=01BfsgOJYOXfeEcRewQ2AoXZ/H8nTxutghdK4oCytgI=; b=r1VlDGle9pDj6Ntq0pke70sPF095yoy0gZaiF3svck73VHWaN9cyl4HWCLe9FM+kRh x14A4EtLik+wi7b0Mk+2uHrXya11bUgQn+V51dimeIKM8mSIQMI1Ne7hQVeQ3dBFSokD uMAyth69ygeS0QKt7MuPdRfbdRS4HRVi+o2Su4dBbyFSYzDBeSQL2MUlEkXe29B6UmeZ iuJZlgRwoFzy63R1c3a43YXtmOkQVe8FIPScx7C9NdCeKswJqWatj2pTqNvT1YoaYJUt FJ6j/IFzzLSvFu2o1TzmPpdivuqEYtlVgSi/0U5rqC9dOSCWVBweiV46wEdJkqoXuR6q olWg== X-Gm-Message-State: ACgBeo0knNrIsISYbJj7XH+app2up2CuuBvFwF4Rp01wm2l3P4Zkzt5V 9P+cR0cG0bJIb82YVgDlZFnCeA+OdN0= X-Google-Smtp-Source: AA6agR6hNl7QerL+7XVyqfC+kI7eQ8D3MPXeQFwGCOiTIqH9+V0aYixWIP8WmpmoBhbx4IIhPJ5tXw== X-Received: by 2002:a05:6102:e8d:b0:38d:a4f2:41a5 with SMTP id l13-20020a0561020e8d00b0038da4f241a5mr10826983vst.5.1661297674044; Tue, 23 Aug 2022 16:34:34 -0700 (PDT) Received: from localhost.localdomain ([191.97.187.183]) by smtp.gmail.com with ESMTPSA id f41-20020a056102152900b003908d2ec4c5sm977140vsv.34.2022.08.23.16.34.32 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 Aug 2022 16:34:33 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Tue, 23 Aug 2022 20:34:17 -0300 Message-Id: <20220823233418.2367-1-jamrial@gmail.com> X-Mailer: git-send-email 2.37.2 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/2] avcodec/libvpxenc: use av_fast_realloc() to resize the stats buffer 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: Signed-off-by: James Almer --- libavcodec/libvpxenc.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/libavcodec/libvpxenc.c b/libavcodec/libvpxenc.c index e08df5fb96..bbbe56c0dc 100644 --- a/libavcodec/libvpxenc.c +++ b/libavcodec/libvpxenc.c @@ -80,6 +80,7 @@ typedef struct VPxEncoderContext { struct vpx_image rawimg_alpha; uint8_t is_alpha; struct vpx_fixed_buf twopass_stats; + unsigned twopass_stats_size; int deadline; //i.e., RT/GOOD/BEST uint64_t sse[4]; int have_sse; /**< true if we have pending sse[] */ @@ -1356,16 +1357,20 @@ static int queue_frames(AVCodecContext *avctx, struct vpx_codec_ctx *encoder, break; case VPX_CODEC_STATS_PKT: { struct vpx_fixed_buf *stats = &ctx->twopass_stats; - int err; + uint8_t *tmp; if (!pkt_out) break; - if ((err = av_reallocp(&stats->buf, - stats->sz + - pkt->data.twopass_stats.sz)) < 0) { + tmp = av_fast_realloc(stats->buf, + &ctx->twopass_stats_size, + stats->sz + + pkt->data.twopass_stats.sz); + if (!tmp) { + av_freep(&stats->buf); stats->sz = 0; av_log(avctx, AV_LOG_ERROR, "Stat buffer realloc failed\n"); - return err; + return AVERROR(ENOMEM); } + stats->buf = tmp; memcpy((uint8_t*)stats->buf + stats->sz, pkt->data.twopass_stats.buf, pkt->data.twopass_stats.sz); stats->sz += pkt->data.twopass_stats.sz; -- 2.37.2 _______________________________________________ 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".