From patchwork Wed Dec 15 02:17:02 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yy X-Patchwork-Id: 32509 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp7761267iog; Tue, 14 Dec 2021 18:18:02 -0800 (PST) X-Google-Smtp-Source: ABdhPJzObKnyimNfDafvPUcw63ltqurk9lUMzE1K03ks1wIEf3LfffoakTY+foilUjI70TlCigTt X-Received: by 2002:a17:907:7d86:: with SMTP id oz6mr8803563ejc.312.1639534682413; Tue, 14 Dec 2021 18:18:02 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1639534682; cv=none; d=google.com; s=arc-20160816; b=dcQvZo4e0901bvTbCDu5emAvE1LV8yVYqmQ21B2+WZZgkHUffcXkWpbJJEdViE9Viv 7P/IVPA7y0bFXIXjULwFiOC1rmWd7GTD/4rQCatrqSODcQKdJvRw220kaQJ7mvymYGZY CAOJ62q5ZrWuDgQOiIGFUtjneKZcBRPgkDxSTgV/k/jGJA4hRveYTQ1gA/PosBuyjBDg y2lF0fo318OkierMwapQR/uaz8ZKmgd+X88owPbIbZHlNgJfjhTXxAJBALiK4813ciF9 DtbFg1792hvau7DcTasXGIW9U/qY96bNVkV6B2RX4BUaZdwEvuK9460aKCxQXL2g3cz7 8j5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:message-id:date:to:from :dkim-signature:delivered-to; bh=GmhayqOVEAsL1YQWuqDWZbdYaJAxfgwnkRjYJws8nqs=; b=f+OyVXqOEoRRv8XKa7MFzciHQNc6/3nAqlUv9MuPbbPMsN9f3tIrmQiNtyF3/JPCPI eR+yN/M5lQJT70mDW4k6GWmJa4ONfO2DBMZterk6Uch2idxUA1YiXAFQjY6TQGvPQfrK /RoaYFkRY0dG2zL+PudVBGX+dUrueDDsdNLJzo+QgKYYCTPeIyqfhg4zAXFJqWcn5A6i 7Spc5Vfcl3aMAU3EUxr/R7GAYZaxZAQdQ5rWgHizMDSOM5VqC2SUHVx0mYDLw/fAVbhB fJowc8CY6U16lXKqb00nhKQodCjW5Lgmh8hKpqRwny2U9tq4MjhlCCVKaItzzELoluOd If/w== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@163.com header.s=s110527 header.b=eb6leYrw; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=163.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id sd2si476998ejc.114.2021.12.14.18.18.01; Tue, 14 Dec 2021 18:18:02 -0800 (PST) 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; dkim=neutral (body hash did not verify) header.i=@163.com header.s=s110527 header.b=eb6leYrw; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=163.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E7D2068AFDD; Wed, 15 Dec 2021 04:17:56 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from m12-14.163.com (m12-14.163.com [220.181.12.14]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id EC0FA68A993 for ; Wed, 15 Dec 2021 04:17:49 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:Subject:Date:Message-Id:MIME-Version; bh=SKzO4 /SUOSnrL3ZYsFSBnXR0yCv2EtJJ52vDidag7Rs=; b=eb6leYrwZMuEMwvh6gBW2 7qpUjf+mEIWcjzzihqWByHc+JvDiF4AjxjTcrI3+1+ucgV8boDhyvaMDczN7VgXQ MeYquyUwHBrbi0/254srz5dqXIHPZHLkBybmWQrciQwiKJcarYeT7bzxqmU4AJMO 1KdqebwP76T9CNAjUBsk5U= Received: from localhost.localdomain (unknown [103.107.216.232]) by smtp10 (Coremail) with SMTP id DsCowABXfcVGULlhrOZPCQ--.22473S2; Wed, 15 Dec 2021 10:17:45 +0800 (CST) From: Yu Yang To: ffmpeg-devel@ffmpeg.org Date: Wed, 15 Dec 2021 10:17:02 +0800 Message-Id: <20211215021702.84725-1-young_chelsea@163.com> X-Mailer: git-send-email 2.33.1 MIME-Version: 1.0 X-CM-TRANSID: DsCowABXfcVGULlhrOZPCQ--.22473S2 X-Coremail-Antispam: 1Uf129KBjvJXoWxCF1xXw18Cw4UtrWkAFWxXrb_yoW5Gryfpr y5CryDZFyrAF13A3Z2qa4vq348A340ga1UCFZ8A3WkGa4S9398KrZ7tFy5tF10kFWkZr18 Zr4rJFy5Arsrtw7anT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x0zRunQbUUUUU= X-Originating-IP: [103.107.216.232] X-CM-SenderInfo: x1rx0wpbfkvzxvhdqiywtou0bp/xtbBEwlqSl3l+02mswAAsh Subject: [FFmpeg-devel] [PATCH] libavcodec/pthread_framec: remove duplicate pointers 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 Cc: Yu Yang Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: +SWYBY4BiXNL From: Yu Yang '*src' and '*avctx' point to the same memory. It is enough to keep one of them. Signed-off-by: Yu Yang --- libavcodec/pthread_frame.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/libavcodec/pthread_frame.c b/libavcodec/pthread_frame.c index 73b1b7d7d9..98f88f7732 100644 --- a/libavcodec/pthread_frame.c +++ b/libavcodec/pthread_frame.c @@ -765,14 +765,14 @@ void ff_frame_thread_free(AVCodecContext *avctx, int thread_count) static av_cold int init_thread(PerThreadContext *p, int *threads_to_free, FrameThreadContext *fctx, AVCodecContext *avctx, - AVCodecContext *src, const AVCodec *codec, int first) + const AVCodec *codec, int first) { AVCodecContext *copy; int err; atomic_init(&p->state, STATE_INPUT_READY); - copy = av_memdup(src, sizeof(*src)); + copy = av_memdup(avctx, sizeof(*avctx)); if (!copy) return AVERROR(ENOMEM); copy->priv_data = NULL; @@ -784,7 +784,7 @@ static av_cold int init_thread(PerThreadContext *p, int *threads_to_free, p->parent = fctx; p->avctx = copy; - copy->internal = av_memdup(src->internal, sizeof(*src->internal)); + copy->internal = av_memdup(avctx->internal, sizeof(*avctx->internal)); if (!copy->internal) return AVERROR(ENOMEM); copy->internal->thread_ctx = p; @@ -798,7 +798,7 @@ static av_cold int init_thread(PerThreadContext *p, int *threads_to_free, if (codec->priv_class) { *(const AVClass **)copy->priv_data = codec->priv_class; - err = av_opt_copy(copy->priv_data, src->priv_data); + err = av_opt_copy(copy->priv_data, avctx->priv_data); if (err < 0) return err; } @@ -843,7 +843,6 @@ int ff_frame_thread_init(AVCodecContext *avctx) { int thread_count = avctx->thread_count; const AVCodec *codec = avctx->codec; - AVCodecContext *src = avctx; FrameThreadContext *fctx; int err, i = 0; @@ -876,7 +875,7 @@ int ff_frame_thread_init(AVCodecContext *avctx) fctx->delaying = 1; if (codec->type == AVMEDIA_TYPE_VIDEO) - avctx->delay = src->thread_count - 1; + avctx->delay = avctx->thread_count - 1; fctx->threads = av_calloc(thread_count, sizeof(*fctx->threads)); if (!fctx->threads) { @@ -888,7 +887,7 @@ int ff_frame_thread_init(AVCodecContext *avctx) PerThreadContext *p = &fctx->threads[i]; int first = !i; - err = init_thread(p, &i, fctx, avctx, src, codec, first); + err = init_thread(p, &i, fctx, avctx, codec, first); if (err < 0) goto error; }