From patchwork Fri Mar 16 23:16:01 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 8012 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.1.70 with SMTP id c67csp71808jad; Fri, 16 Mar 2018 16:16:34 -0700 (PDT) X-Google-Smtp-Source: AG47ELv0j/ZHmadKNvZNNCci3387zHFjYs1QY84Pv029lB28YCK1pQ34mGp+ZMqUtOr15umU2tY3 X-Received: by 10.223.142.244 with SMTP id q107mr3006269wrb.64.1521242194355; Fri, 16 Mar 2018 16:16:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1521242194; cv=none; d=google.com; s=arc-20160816; b=ngEHRkfynUsg6cIKdIdqA1Z9fa1/eT/Kd+GjCVA991qTmOdXxmy94tKhojg+OSM1pa bN5ScbBF8ZJB7ENuFErSp+9iVYsvtmEAXhwWDZUi7oP7X9rd4Cac0w69JEUc3Nkw6eqx R6PIYXeqtxhkbE9r5b34NCv5UNMVx3zQmVaJkcTR72+HKZKbeibhlOhp5mzH4nM4fTDq KmXMDppbOf2lwP/dUNc9+TriJx6lSthAc3msqFE0/q+/NyFTllH9wJb39rp/dOq3ypgs SqTNF1aJEwh9PwKHC/c5Ka5vXm+HzTFyr6LhviMxcf3fFBZx+K5KLPidNjYfe0h7zU7B h7SQ== 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:references:in-reply-to:message-id:date :to:from:dkim-signature:delivered-to:arc-authentication-results; bh=k+WVubCBgIRsvFSSrmh7RSKVKjt6eyiuTTsVZjeYBSk=; b=g6FA6h+XVtik0lkNWOREQscrKD94s214tT/oCAMSBP4S+tPcKTu7WJo62W7kXMb1ZM h+3MZRMrw24RzDFivASWZJzWFetWyNExeYw2rwCqIS5xCFHphHPG51dcoFt0KfERzXzA JCCbS6fyMDm2AqQVua/hhId2lId/IgWPDn0pnhBnjlJVxuomOQJYP3sBZx2dDfjuu9p/ /1JmTfucU1rM4n04e5g1S/3kGTl96z9iA3FYkDXJ7uujsFqX7QAn00eQOzFTg5PKlA/a mcGGjWMP1N+7NEHPVLR6zZ1Ql+pX6gKlD8RSE8I1H62TMtTwLrtlgHW1/YDBA+n5AUyt 4SHw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=f95mC1Kr; 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=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id m15si6133267wrf.250.2018.03.16.16.16.33; Fri, 16 Mar 2018 16:16:34 -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; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=f95mC1Kr; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5FB5E68A1AD; Sat, 17 Mar 2018 01:16:11 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qk0-f195.google.com (mail-qk0-f195.google.com [209.85.220.195]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 72621689971 for ; Sat, 17 Mar 2018 01:16:03 +0200 (EET) Received: by mail-qk0-f195.google.com with SMTP id l25so6385331qkj.0 for ; Fri, 16 Mar 2018 16:16:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=w0IQU8bdhfzxmqTLiHpcbauFQg7PFRg6SsxiG3fiXr0=; b=f95mC1Kr7aeJN0QA8bcfS4WlZBWKerud6OLVJ9eAwVRjHB3/Ul2v9L+aYD4PcaB8pC nJGQD3JWCaedOSr4EyzHp2U1x9vmjLMiEndurgeFBMkmQNf8Mpjx0OgmABbItuHq+IF2 DKy5JNuHW5pVHliw0VgfQr4G4ssY1+idw7ahxHs7x4jxh3l30Is07zcRzzrzbz6DCyQg OyyaQUQuWnjymp0OILm/PopfnrGnWJdzhITkGcPM+X0IcTiej2LhDDVlZAVs4f21/CDB jL7c7ul6dB7INbN1YWIiwmL4J8Nd0KxxH/rwiG+TqXf62BUG6/7v8TNoXKWmMzqZjEV4 ejuw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=w0IQU8bdhfzxmqTLiHpcbauFQg7PFRg6SsxiG3fiXr0=; b=kR/4AR3gPqoqHS4ZGJbeZYyIJeGs31RuDDwA2mTamCU1wgw+74cImZOl+2QrxGgEk4 glC52qGHASdj20heAfE2SYfphB3PX06+eitFBilUp8kCOfMTWxuWaiBOKwWgwjLtAdCY yqYzr9zVGC+4VoGiYWmKgKjA2UKQ6ybLttOs9qWYy+JBieWVwojkRV0RZuarVM4RYKAA /9cR1+omFWrdW5vIY3Ri3kUusNWFEhTW3T+679hf1boyV6dS7ZoTFSVlwl9YOpmKc3r/ BGJsexI91n9H3pPLhYERWzuad8MkDNRaq+88gtGtfHj+OUAugbKd+yRq20LhgpzlXu5s gq1g== X-Gm-Message-State: AElRT7GUtxILmExUV4zn6oJDroyZjkoxTP+LjRk6rKK+4AULjVDVE7QG wZQOx6figBn44MtBkBqcLhovKQ== X-Received: by 10.55.173.1 with SMTP id f1mr4426409qkm.204.1521242174897; Fri, 16 Mar 2018 16:16:14 -0700 (PDT) Received: from localhost.localdomain ([190.188.171.140]) by smtp.gmail.com with ESMTPSA id n4sm6779972qtc.0.2018.03.16.16.16.14 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 16 Mar 2018 16:16:14 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Fri, 16 Mar 2018 20:16:01 -0300 Message-Id: <20180316231601.3212-2-jamrial@gmail.com> X-Mailer: git-send-email 2.16.2 In-Reply-To: <20180316231601.3212-1-jamrial@gmail.com> References: <20180316231601.3212-1-jamrial@gmail.com> Subject: [FFmpeg-devel] [PATCH 2/2] avcodec/noise_bsf: move the reference in the bsf internal buffer 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 MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" There's no need to allocate a new packet for it. Signed-off-by: James Almer --- libavcodec/noise_bsf.c | 30 ++++++++---------------------- 1 file changed, 8 insertions(+), 22 deletions(-) diff --git a/libavcodec/noise_bsf.c b/libavcodec/noise_bsf.c index 84b94032ad..b433cadccd 100644 --- a/libavcodec/noise_bsf.c +++ b/libavcodec/noise_bsf.c @@ -35,46 +35,32 @@ typedef struct NoiseContext { unsigned int state; } NoiseContext; -static int noise(AVBSFContext *ctx, AVPacket *out) +static int noise(AVBSFContext *ctx, AVPacket *pkt) { NoiseContext *s = ctx->priv_data; - AVPacket *in; int amount = s->amount > 0 ? s->amount : (s->state % 10001 + 1); int i, ret = 0; if (amount <= 0) return AVERROR(EINVAL); - ret = ff_bsf_get_packet(ctx, &in); + ret = ff_bsf_get_packet_ref(ctx, pkt); if (ret < 0) return ret; if (s->dropamount > 0 && s->state % s->dropamount == 0) { s->state++; - av_packet_free(&in); + av_packet_unref(pkt); return AVERROR(EAGAIN); } - ret = av_new_packet(out, in->size); - if (ret < 0) - goto fail; - - ret = av_packet_copy_props(out, in); - if (ret < 0) - goto fail; - - memcpy(out->data, in->data, in->size); - - for (i = 0; i < out->size; i++) { - s->state += out->data[i] + 1; + for (i = 0; i < pkt->size; i++) { + s->state += pkt->data[i] + 1; if (s->state % amount == 0) - out->data[i] = s->state; + pkt->data[i] = s->state; } -fail: - if (ret < 0) - av_packet_unref(out); - av_packet_free(&in); - return ret; + + return 0; } #define OFFSET(x) offsetof(NoiseContext, x)