From patchwork Sun Aug 2 11:47:31 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 21453 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id C07CE449A11 for ; Sun, 2 Aug 2020 14:48:23 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A81AB68BAE9; Sun, 2 Aug 2020 14:48:23 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ej1-f67.google.com (mail-ej1-f67.google.com [209.85.218.67]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 38B1868BA7E for ; Sun, 2 Aug 2020 14:48:17 +0300 (EEST) Received: by mail-ej1-f67.google.com with SMTP id kq25so22828260ejb.3 for ; Sun, 02 Aug 2020 04:48:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=LSQ/bz7F2qExLhi7lM1s5mlJcF5DHCn+DBbiboSiAQI=; b=hdYO642DNOZwkfO3sXCDpXsICX+k4z+a9tG6EzksL9UDgqkyuXAeRSYr+hRVzOlNvc IiVykMeUHtzNyB6NvQhpOObOJ1jH1AcZGe6TUxcC27euIA7/SuCXhtqAL+HZFkXZV5jT PczXQuPOyoan1pcae7t+ma4YnQj7UPx3MGpnBvSBcYZT+fzfxXVtpLT+tjprtwOk+VAT 4CjbWDU33O+MHxS92m5cPIxAbI59uQZh9+2svPpUSssi9kc3BtXktW9ts9YDRzRzRJu6 gnw21pbdBSm22VEf5KX6mzuSfvk6iZfe+zMFzLmnWG5Wdi07lO0ScglOTt+Zfp1+bEpR LJxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=LSQ/bz7F2qExLhi7lM1s5mlJcF5DHCn+DBbiboSiAQI=; b=JD9YmUf2nVB/edG6P78FiL0oW7HhzM0FNwCHQtdpJXY1lUrpxdKh0KjqHtt7ldJ42M YF/zHIuBm22/kQ0Gi0x6aY5w4fRBbLi/AhsByPfU6ZmTud0qZqSEvHmzsLhP9Yi64eLO HfQh7nKcazJIGcQNb1UjeWYadRD/1hTD3ineJUhPUf8niiSh90jxDZQRmwo6pilLEJ2O qMQSxWmUJh6oBJmcp8Zr+QTbuE2e8DG7ZGp4/zH0tNVzGf0ISIOBXMynFG8YdBB1SQp7 542G1QSkv3acahKTrYzRfqDb0nXEcEa8n0j12fzJF0qyBunqJSIq5sMKslphiwTQkWi3 iHwg== X-Gm-Message-State: AOAM530nUChqx7q8YlwnXF4tbCHnMAOKAlocLxqPWjjnYOdcNSyL8ArI e6EyA2dE4FS8//4NJeYNocdmDQBb X-Google-Smtp-Source: ABdhPJyf1wsF3ALXA8pLaYG64tPI1drZVXov/7qe02A+36rw+bzxWPzYSDFWjAou9JKgLN7wSAmbww== X-Received: by 2002:a17:906:fb04:: with SMTP id lz4mr12501069ejb.394.1596368896358; Sun, 02 Aug 2020 04:48:16 -0700 (PDT) Received: from sblaptop.fritz.box (ipbcc10296.dynamic.kabel-deutschland.de. [188.193.2.150]) by smtp.gmail.com with ESMTPSA id w5sm13506454edi.74.2020.08.02.04.48.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 02 Aug 2020 04:48:15 -0700 (PDT) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sun, 2 Aug 2020 13:47:31 +0200 Message-Id: <20200802114731.901-2-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200802114731.901-1-andreas.rheinhardt@gmail.com> References: <20200802114731.901-1-andreas.rheinhardt@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/2] avformat/dv: Avoid allocation for reading timecode 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 Cc: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Signed-off-by: Andreas Rheinhardt --- libavformat/dv.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/libavformat/dv.c b/libavformat/dv.c index 9179e6cec6..d25641daac 100644 --- a/libavformat/dv.c +++ b/libavformat/dv.c @@ -470,19 +470,15 @@ static int dv_read_timecode(AVFormatContext *s) { int64_t pos = avio_tell(s->pb); // Read 3 DIF blocks: Header block and 2 Subcode blocks. - int partial_frame_size = 3 * 80; - uint8_t *partial_frame = av_mallocz(sizeof(*partial_frame) * - partial_frame_size); - +#define PARTIAL_FRAME_SIZE (3 * 80) + uint8_t partial_frame[PARTIAL_FRAME_SIZE]; RawDVContext *c = s->priv_data; - if (!partial_frame) - return AVERROR(ENOMEM); - ret = avio_read(s->pb, partial_frame, partial_frame_size); + ret = avio_read(s->pb, partial_frame, PARTIAL_FRAME_SIZE); if (ret < 0) goto finish; - if (ret < partial_frame_size) { + if (ret < PARTIAL_FRAME_SIZE) { ret = -1; goto finish; } @@ -494,7 +490,6 @@ static int dv_read_timecode(AVFormatContext *s) { av_log(s, AV_LOG_ERROR, "Detected timecode is invalid\n"); finish: - av_free(partial_frame); avio_seek(s->pb, pos, SEEK_SET); return ret; }