From patchwork Fri Aug 16 13:44:27 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 51040 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:b6ca:0:b0:48e:c0f8:d0de with SMTP id s10csp442840vqj; Fri, 16 Aug 2024 06:44:31 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUYbnfmOYMhBY+Imxx+rCHI9HEG+M+C7LFLkUcxWzud9vlSQo2PEiH6G06oXBrBlQauCSQW9G8zZjqTlx8s1xT+J5fhR92bBAfKlA== X-Google-Smtp-Source: AGHT+IH8QHDcT1U4WOEc7Xf0/FunG/Z+qnCabfN1SM7J6OEHK2qXzD8IW2FOj7W8eDuCflDFi7Br X-Received: by 2002:a05:6402:1e94:b0:5be:d9ac:c776 with SMTP id 4fb4d7f45d1cf-5bed9accabdmr278789a12.38.1723815870952; Fri, 16 Aug 2024 06:44:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1723815870; cv=none; d=google.com; s=arc-20160816; b=0YZtEHy0IYL+CYy1BoEdOoi13Y3jMQc53JmkhCSUh6Bv8RmZ/URDQXs+zYEQ0OneMe DvJAPUGOPC/ed+oI6BcWXK6D3niwmYp9pL8dfLRld1VUS55Ss6MxKaKmPmFaQ2IkLnL2 aUnjmFA/tWqfJvbzzpxhJzle2kINWrn81hLKiojThL3gIe2q5PuuI7clGxPWH3a3IJC3 Rr3KpNrQgU4C8hKb+1opapWYnk14ZQWvmeVT5WtDApQoBOcs2ldWTY/qFKUpfHIFttmG tvdam7k5N72GKWtMyShLpkeL3CHOg7Yu1atM06WscjtmA3peQqBvv/eUj+HG0EUBEnvo hb2g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding: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=cp7XM9Al5heuhe0tfhjbswqA15xZJw1EWjqXtwtBdeE=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=AU5KZnv/SxSWq6G9Ss506YUIOAwZp2xuKvrcd5wWutxP7gjILsvHKwge8kf5ck8Zqf 4VSZm+Oxb2GhyBv1kCNQzEWyAvY5TOYC3rYBMVh4hw0riY/bS0TT+iqZtoi18dyb8FOr IPbGemXLMrqX4lq4mVO9nPhxEqPeeTYlxvhXRRZweGXBfu7x1ihqS6wD7V5kUg/CfXmT MIB0vz6uiPbRfTPeiJBqI8ELOWTrbYJYMvdr0Opu4Rp8Fxe6KNoKZBrG/DQG/pm9CQsy qUi0dp/YtwxoFOEGR0YRsZXji5VeOvrEvo7IMpOhJn4SB4XcpJv61k6yl7GhQn5plF/A 8Nfg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20230601 header.b=NptpSEqH; 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; dara=fail header.i=@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 4fb4d7f45d1cf-5bebbbef37fsi2118821a12.119.2024.08.16.06.44.30; Fri, 16 Aug 2024 06:44:30 -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=20230601 header.b=NptpSEqH; 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; dara=fail header.i=@gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id C69DE68DC83; Fri, 16 Aug 2024 16:44:26 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 833A068DB5C for ; Fri, 16 Aug 2024 16:44:19 +0300 (EEST) Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-2020b730049so5525055ad.3 for ; Fri, 16 Aug 2024 06:44:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1723815857; x=1724420657; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=U5TOo1eQjwlVP1j1FGwWDTvQERJc7TzMFJlueS9U0hs=; b=NptpSEqHX06cwwGjMpDY9J/dTeaxa5Q9omcCeydosgbPnqk7XjzdBnrwPRRm2BNm/c FULt3uyZu1UiEK66hW/35yYfLFip/Um6UfcFaQFXLxQXuXJ3a17kb/Y0S00GzBUblOZu /Ca7hVvpNV+tIEDGcdUPEopxPnRb/6d5v8t1eAgHHTNzUFsq42r97SVqjzdfhRIBXg3w Pc+cyKK0S86EjgKTPko+HEPzGgiqRFwh/1G8O1ySTRwGDEFbdFEq+yz2N6WmgD5pqqqx Iivy//3cFfsv6WHgBnVQPXb0L/25+BIPIYTRV/Ncw96RljYYrdxxWTp430EXydZjxUaA Ay/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723815857; x=1724420657; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=U5TOo1eQjwlVP1j1FGwWDTvQERJc7TzMFJlueS9U0hs=; b=EAGYBpmLeDI3UFGYQSI8U+Skv3vYgn3yKWNKSBNKZfeNAH4Lc7MP2jUgxYGKXwQiiA JTQdugERlTKQIJB46oiGjJpmvrwV5NnGUOrDW+8fUg/WTRNpCvGgZr3H+qoGmadOoA2k KCFpiAHw7t14/anQaJX0YO9uIazI1ISWCE0kjumFQV/eYKD5VABco7p1nJVgAcmsCxyS tIpEtZvPydP1VXxoiB0vBmklhqmB2+RdePyF086niK2HcxC4suvx9CKXjgSg/EVqIY21 t9KC5lrHqQOPQUsSmJPIo5zogwrDU5ONWKtbxPNayD3cD8bolPLQ6qRpMrdcuhDxtn2D J21g== X-Gm-Message-State: AOJu0Yz/yNKPLfyv1RvuOLOddF78zN0ReMThMdSyzFher8Ci9XqLn7tH T7CgONjlnv6VMUm4vl+1PIu9I8fTp6o6bLlyCnHUAs3BSPy7J8SeZxWzkA== X-Received: by 2002:a17:902:ce8e:b0:1fd:cda0:2f4c with SMTP id d9443c01a7336-20203e9c553mr33204055ad.18.1723815856514; Fri, 16 Aug 2024 06:44:16 -0700 (PDT) Received: from localhost.localdomain ([190.194.167.233]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-201f038b43dsm25654445ad.210.2024.08.16.06.44.15 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 16 Aug 2024 06:44:15 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Fri, 16 Aug 2024 10:44:27 -0300 Message-ID: <20240816134427.2776-1-jamrial@gmail.com> X-Mailer: git-send-email 2.46.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] =?utf-8?q?=5BPATCH=5D_avcodec/shorten=3A_Fix_discard?= =?utf-8?q?_of_=E2=80=98const=E2=80=99_qualifier?= 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: kP3NndPtgGVy Signed-off-by: James Almer --- libavcodec/shorten.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/libavcodec/shorten.c b/libavcodec/shorten.c index 12a179156a..46d3b7a615 100644 --- a/libavcodec/shorten.c +++ b/libavcodec/shorten.c @@ -563,7 +563,6 @@ static int shorten_decode_frame(AVCodecContext *avctx, AVFrame *frame, buf = &s->bitstream[s->bitstream_index]; buf_size += s->bitstream_size; s->bitstream_size = buf_size; - memset(buf + buf_size, 0, AV_INPUT_BUFFER_PADDING_SIZE); /* do not decode until buffer has at least max_framesize bytes or * the end of the file has been reached */ @@ -583,10 +582,9 @@ static int shorten_decode_frame(AVCodecContext *avctx, AVFrame *frame, return ret; if (avpkt->size) { - int max_framesize; + int max_framesize = s->blocksize * s->channels * 8; void *tmp_ptr; - max_framesize = FFMAX(s->max_framesize, s->blocksize * s->channels * 8); tmp_ptr = av_fast_realloc(s->bitstream, &s->allocated_bitstream_size, max_framesize + AV_INPUT_BUFFER_PADDING_SIZE); if (!tmp_ptr) { @@ -594,7 +592,10 @@ static int shorten_decode_frame(AVCodecContext *avctx, AVFrame *frame, return AVERROR(ENOMEM); } s->bitstream = tmp_ptr; - s->max_framesize = max_framesize; + if (max_framesize > s->max_framesize) + memset(s->bitstream + s->max_framesize, 0, (max_framesize - s->max_framesize) + + AV_INPUT_BUFFER_PADDING_SIZE); + s->max_framesize = FFMAX(s->max_framesize, max_framesize); *got_frame_ptr = 0; goto finish_frame; }