From patchwork Sun Mar 11 17:58:54 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 7906 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.1.70 with SMTP id c67csp802266jad; Sun, 11 Mar 2018 11:00:36 -0700 (PDT) X-Google-Smtp-Source: AG47ELuwHVajMAca0e71iGbkNoOhTldCSc16ycYhr6AVQuEz9NPsFS5R4OrV1yJY1Pot4AfZJnIa X-Received: by 10.28.238.77 with SMTP id m74mr3886076wmh.79.1520791236458; Sun, 11 Mar 2018 11:00:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1520791236; cv=none; d=google.com; s=arc-20160816; b=l7Z7vAf+o5EHvsIu6+avZlP8D3/V9+evNTM2hGBtWK02siaWTtYTnWK3s2m5R9VXHu fK/49yeSDRV+qpujZ7v86zoRaXnzvHZPTikyvZ62T5tvip/69dq8jEodh1GSxyqutqEz u/hwwap2F16Xi5/2W2dTrmDtn0Qu+5fNyQK3BN0ucW3Grz7hPQs+fY4YnntscLiUtdR7 IIe2UEUZJ8w/07PTCEHci3N54CbwPpckFZszrbTTyavZhwF0sktAmRjOXfKp802OqfuM g65bh83Oc0LQP6QhlcmhyRu/Th2y2lY97Va/ZlAABLODipSxRNnwSmizS0a9dRmUavTz jBeA== 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=O9r/vaM/cbE2VHw5ctbLf8QQichVgyKjTslEmkjCxJ4=; b=D/jR+zf5N3QuMlThNKB+pnpBUbl883h0pSlrilQwGXBGDdTFBjo4GUMRBN0X1rtmVc dpt7QLAKFn6bbunXt6q02UjumojOShGoir6mwqEsU6zaJabpU3zgrpPYfA5Z+xrdb+5p 4g74q1S2LPDqGXnx2zTDcBWj5CmjJ/ZReqSb1es0XBahLme1BXwHxmRdek9O1anAO3T2 nHHqYxwJeEHO4YfBFB7NUVy/qV+/EZKoBG2PPW4Gxdd52UW99MiPlq+wVrcjjeW3ANaL BfpnBD0MDZ7lKJL9XhEzgZ1R4/KPfbwG3yLyONodnP4fUINxEMZ2LI4/A4RQ+SH6YFaR TcXQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=daYBRbGX; 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 n5si3859997wre.235.2018.03.11.11.00.35; Sun, 11 Mar 2018 11:00:36 -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=daYBRbGX; 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 54C7068A273; Sun, 11 Mar 2018 19:59:47 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qk0-f196.google.com (mail-qk0-f196.google.com [209.85.220.196]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3C77268A1BC for ; Sun, 11 Mar 2018 19:59:40 +0200 (EET) Received: by mail-qk0-f196.google.com with SMTP id z197so9087781qkb.6 for ; Sun, 11 Mar 2018 10:59:50 -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=iX2oTkO7Rp4IautbQIfPWg+HaqZ3/QekzBDRY+PFyKo=; b=daYBRbGXJOFfwqjTD9N3wYqWVjc7j3mSJIYH7uYS7jtenNADo0ihmu9BQKwD6VjXxZ uj+LNBaYaViCCf3I06qaaDjIiKX8/KO+q+Vt1F8U/anm2mPjqfV1TfFCu1kf3MTJUUzh lSFOr+imkrVf9KQ1heyXvQZWBZgbwJBn195neHddkqob1LxovoPaUdgkCmb1ZcAdWFTS deTfBEHIGYH8LhpJL4ryTQQRxQ+fkQO68ghY2eP4B/7pjhOTbn8g/4GQM0POmX+FS3fu yxKw0oI6Tn3i6Mu4tjWr6wRHw6hb3Xjr8FGvgrxyBEcC11vTmUPAy0lXcjN3vqowBQbR f6bA== 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=iX2oTkO7Rp4IautbQIfPWg+HaqZ3/QekzBDRY+PFyKo=; b=PBwnrFbvTB32qlsg0N8WeohqUtUuKJ5IlV+ezWRj+83ukyAj9jqhMEJbAx0f3riy/3 r2i5HxCw6HRYg3Bx05ew5A1MT0v96wA27Dr1aHUI83YVuUEw0DrY7/ZcLIB2w9qr/JqU mCiOIWSPuag+u1y/YiGFX7CTOhlJ2VAGbQEvdOmVSkFKjnTbP17BdfcDkphqRXgDrRsu D4/cfL6Xe0IdWl3O1AhLdOhIBK36YJOCtRX8QNvUxYWRTC1/q32ybv7ZvooTgo+LpnSM QJWpP6QD9FqYFEtzaHffHjkbTX3XOBQf6i4Qu2HnSGmlCoIc4X9YaXGEY6eosR+QWv1A aKTA== X-Gm-Message-State: AElRT7E/ZSFNlWZ26+1RfVf+P5TUcEYwpJJFWrIpN/eHQ87ZAgCd96cV s9DE71E0E2Fb5zXbfDE/KEwClw== X-Received: by 10.55.214.211 with SMTP id p80mr3919792qkl.1.1520791189276; Sun, 11 Mar 2018 10:59:49 -0700 (PDT) Received: from localhost.localdomain ([190.188.171.140]) by smtp.gmail.com with ESMTPSA id 16sm4029946qtp.88.2018.03.11.10.59.48 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 11 Mar 2018 10:59:48 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Sun, 11 Mar 2018 14:58:54 -0300 Message-Id: <20180311175854.10096-6-jamrial@gmail.com> X-Mailer: git-send-email 2.16.2 In-Reply-To: <20180311175854.10096-1-jamrial@gmail.com> References: <20180311175854.10096-1-jamrial@gmail.com> Subject: [FFmpeg-devel] [PATCH 6/6] avcodec/mov2textsub: 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/movsub_bsf.c | 26 +++++++------------------- 1 file changed, 7 insertions(+), 19 deletions(-) diff --git a/libavcodec/movsub_bsf.c b/libavcodec/movsub_bsf.c index 3cb1183cd8..4305186b9c 100644 --- a/libavcodec/movsub_bsf.c +++ b/libavcodec/movsub_bsf.c @@ -64,33 +64,21 @@ const AVBitStreamFilter ff_text2movsub_bsf = { static int mov2textsub(AVBSFContext *ctx, AVPacket *out) { - AVPacket *in; int ret = 0; - ret = ff_bsf_get_packet(ctx, &in); + ret = ff_bsf_get_packet_ref(ctx, out); if (ret < 0) return ret; - if (in->size < 2) { - ret = AVERROR_INVALIDDATA; - goto fail; + if (out->size < 2) { + av_packet_unref(out); + return AVERROR_INVALIDDATA; } - ret = av_new_packet(out, FFMIN(in->size - 2, AV_RB16(in->data))); - if (ret < 0) - goto fail; - - ret = av_packet_copy_props(out, in); - if (ret < 0) - goto fail; - - memcpy(out->data, in->data + 2, out->size); + out->data += 2; + out->size = FFMIN(out->size - 2, AV_RB16(out->data)); -fail: - if (ret < 0) - av_packet_unref(out); - av_packet_free(&in); - return ret; + return 0; } const AVBitStreamFilter ff_mov2textsub_bsf = {