From patchwork Mon Oct 2 02:17:59 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 5368 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.61.8 with SMTP id n8csp1027659jan; Sun, 1 Oct 2017 19:18:21 -0700 (PDT) X-Received: by 10.223.170.137 with SMTP id h9mr12998600wrc.91.1506910701877; Sun, 01 Oct 2017 19:18:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1506910701; cv=none; d=google.com; s=arc-20160816; b=V4uSZ6/bgx+bhtQoHYWdY9ht5xn1U5qDTwk0g+fWQzDrCxpQgX/9a4pY7ExddKSzZs rxIhPO9OJJyD3d4EA5oJXbsUXrmCOFP4qzmGPepKpjta+3mB9AIjftBpZZM2YUnrAX0h EX9UfY7wLUZTnSi0Z5wW6w1+Pgli8DLCURa8o6ZhhZ5Zh/3BdQ2eNtHI9XwmGXirCuDa 1+Cptz7OZsI7HeNi05cYQ9fZwc7VcQX5/83ApL8x3IY7wgkzBaZTv4/rAPk99RekXXsm EV3Ro7olD7flHbBsjBcgludnbgYuhYdPJAExk28meYGT5stG81V/xHjvp1EzwsfcXnEN Cotw== 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:dkim-signature :delivered-to:arc-authentication-results; bh=/brnVejj4H9Myxowx1LoPAK0p7z6oYQHgqTq5XrC44s=; b=DReiwD2Y9lPKtaqgwP72xpZ7lwwyg2S9ozvjdS13M5tq4Jzi9FUwOEL8XEicY35+ol vvwPmVtD/QWlzfpIpm+5w2bd6CmgqcraDPLYPnSu9x0ndyzNwNHTawBEKRB4JeqzCgxH BtMWLZ/g2sEMeXYbzH3JWzLqGUCyuYHk2cVDe9bnXfkbRgL+xHJfGPnuB+Et3nZgZw/v wjbLPaqT3tjC5lKIS/kKgxeHA/ms34zBhF2NbmCPSADoiWIIYJ/otZsJOEOIjPD18kPD JiC6IH3G5HAvbM64A5dulhevNkuUUAzO2W3skyaT87ORHadY+fVcDD0pGR5opUL/2dCL J/ZQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=YQUiNtFA; 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=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 q16si3236099wre.408.2017.10.01.19.18.21; Sun, 01 Oct 2017 19:18:21 -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=YQUiNtFA; 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=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5D1A5689DC9; Mon, 2 Oct 2017 05:18:06 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qt0-f194.google.com (mail-qt0-f194.google.com [209.85.216.194]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id ACFA9689DC6 for ; Mon, 2 Oct 2017 05:17:59 +0300 (EEST) Received: by mail-qt0-f194.google.com with SMTP id o3so5707975qte.6 for ; Sun, 01 Oct 2017 19:18:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id; bh=ydooovw5q7Cku7+W9nizXIqaCtdFOqVyohVa0Hpnbtk=; b=YQUiNtFArvnGyyBmETXaVBtqL7bT2V48ErxTjdE8oS+xUxCeE4/EBuK9F1pd9hjkX0 93pBEu3zWomClU7w+XYV8ZICh2kyIWicVrbKP0euFQFkYz0dw60PyK9qUER/ECgxMzVi DuKY0831qDfL710iR588QBardCh6wgfJSJr+zyvZKQsECCRqzedVAycvk/5LI9/gngZg Awr/f8QEuGhSYHtWJjm1VqM5+nYWAbcIvijjTQ3/9e/q4TAaTbSIQkitrGtuFQszL75l WL/IoTvlMugHCDVV0aqEZynI7hek89tmHcVh0RsWCtcUnLdmT0QRhUq01Lc9rOS802+K blpA== 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; bh=ydooovw5q7Cku7+W9nizXIqaCtdFOqVyohVa0Hpnbtk=; b=rBayPazmLCIrO9OWTtEcW8WH6zswmBZyWZkYKO28WUaryXbr91+QnBBNBjMEikjHNO ClrET92tUxWVnXE7tJO4Hp2xOGBd3QOWqyyCI6jSO0mP4L+W8ccaZ1FoAGd7Ov+6PkeI s6teifa1vYyimuUNiQ14NR5BrtR+xthGvDFd2BY0AOgHZggeOm09u3npqq0gCCJWZt+o rNkzbwh+28bqfquxvO22+4iPrlYA9RMJGsAMDqWVaw443M1k+lFvm8rtMgQ5r7gyckod kqsRf3N5igLCcePeGxYisX7cU3Cd8npWRKhZyjMaaiDWrgA+tDhnu/9SbFf5cqt0gAaT VDkQ== X-Gm-Message-State: AMCzsaWK24776E6jq3SUUegwvXbCmh+mmGDNL2Be9kLXkRWUcJ7rlXlh 1H4DgfETPKhqF+14gw7NQqaXBg== X-Google-Smtp-Source: AOwi7QBOtevv75gmF3cO1sptdNH52MTDrPAh3sKs80dNDgtwoCE030DCsr30sxiuwlp24derXc+c/g== X-Received: by 10.200.39.205 with SMTP id x13mr1878839qtx.287.1506910692685; Sun, 01 Oct 2017 19:18:12 -0700 (PDT) Received: from localhost.localdomain ([181.231.68.242]) by smtp.gmail.com with ESMTPSA id d140sm6113503qkc.41.2017.10.01.19.18.11 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sun, 01 Oct 2017 19:18:12 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Sun, 1 Oct 2017 23:17:59 -0300 Message-Id: <20171002021759.5460-1-jamrial@gmail.com> X-Mailer: git-send-email 2.14.1 Subject: [FFmpeg-devel] [PATCH] avcodec/encode: remove usage of av_dup_packet() 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" Signed-off-by: James Almer --- libavcodec/encode.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/libavcodec/encode.c b/libavcodec/encode.c index 525ee1f5d6..dd50486bcf 100644 --- a/libavcodec/encode.c +++ b/libavcodec/encode.c @@ -222,10 +222,12 @@ int attribute_align_arg avcodec_encode_audio2(AVCodecContext *avctx, } avpkt->buf = user_pkt.buf; avpkt->data = user_pkt.data; - } else { - if (av_dup_packet(avpkt) < 0) { - ret = AVERROR(ENOMEM); - } + } else if (!avpkt->buf) { + AVPacket tmp = { 0 }; + ret = av_packet_ref(&tmp, avpkt); + if (ret < 0) + return ret; + *avpkt = tmp; } } @@ -318,10 +320,12 @@ int attribute_align_arg avcodec_encode_video2(AVCodecContext *avctx, } avpkt->buf = user_pkt.buf; avpkt->data = user_pkt.data; - } else { - if (av_dup_packet(avpkt) < 0) { - ret = AVERROR(ENOMEM); - } + } else if (!avpkt->buf) { + AVPacket tmp = { 0 }; + ret = av_packet_ref(&tmp, avpkt); + if (ret < 0) + return ret; + *avpkt = tmp; } }