From patchwork Mon Apr 11 08:49:34 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Khirnov X-Patchwork-Id: 35250 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:671c:b0:7c:62c8:b2d1 with SMTP id q28csp935878pzh; Mon, 11 Apr 2022 02:00:16 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyQRQRxz0ZUbyGfvDw5qUDw/GggctyDpcvNV1m8CnsGQ8GF2pO6lgRGOlk7n1RbXcLgylWx X-Received: by 2002:a17:907:8692:b0:6e8:8d83:c25c with SMTP id qa18-20020a170907869200b006e88d83c25cmr4453015ejc.38.1649667616428; Mon, 11 Apr 2022 02:00:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1649667616; cv=none; d=google.com; s=arc-20160816; b=N79PjO0m0D3yZXjI3PBrFTq9TAt/zQArqTw/NnC/1lu144011nVXyEd+2C2Tme7bcD BzTdWaecUXSrq/eqgTillHmBhHJ7rhjMq6KUfUY+X7htK4djG5S3cWBbP78ipFyr4utR 2tn3p/yltOeyrHf1RsKf72ky4uIBVLoicdEWN8WEWzpMmjso3CMUPFWdO9h9jWHoP/SQ HrW2VxWnD6i1mzR5un4TxI2c/9rfe6LomPpPaX6kl10HJuaySy0mO4qHove5kzFdsbvh +xVM7jcvRX6kNcRd+FmH5CwhQn9ND5IWpqV6REe18WrSo+IeDQbyrNdikJTwIzORq/w7 aeOQ== 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:references:in-reply-to:message-id :date:to:from:delivered-to; bh=shNIUbYPyfIA3XbWqFSNHcY3P3CrFo/3MwzkVsDkJhA=; b=tLrQpEL0u1bXMmz0GrC09AhQG0SGGs5627LoQ0FOZWGrxaKIc5HtKKrLs6j8BnvI4U yP5CVsrPouRznGMVNCDBlpbB84MVTbPiZkTd173CkAISCrZwXHgU6j6XZQTsDy13D2HB b04Oyf3HaB8IC27Gha5KX1okEdKV9XQ13DIDrGfuiLGnBrn37wm+GSAe3j2YWXKoPomd jCuZCmVsXJxsLi1WB9ub33V8jToszAgB5uYp8B2dht9r570WkwVG4vDwooJOnGdoRiIy vQdcGPi5mWonXACQuVCe3xoUo7t6ucVYhzOD3/WY5nbr/Ldl79KS4u5uBMJ/KJAOHBqL H1uw== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id r9-20020a170906280900b006e81ff82175si5864704ejc.196.2022.04.11.02.00.15; Mon, 11 Apr 2022 02:00:16 -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; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 84CA168B329; Mon, 11 Apr 2022 12:00:12 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail0.khirnov.net (red.khirnov.net [176.97.15.12]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id DF2B868B181 for ; Mon, 11 Apr 2022 12:00:05 +0300 (EEST) Received: from localhost (localhost [IPv6:::1]) by mail0.khirnov.net (Postfix) with ESMTP id 65C44240179 for ; Mon, 11 Apr 2022 11:00:05 +0200 (CEST) Received: from mail0.khirnov.net ([IPv6:::1]) by localhost (mail0.khirnov.net [IPv6:::1]) (amavisd-new, port 10024) with ESMTP id n46d30wX6AZO for ; Mon, 11 Apr 2022 11:00:04 +0200 (CEST) Received: from libav.khirnov.net (libav.khirnov.net [IPv6:2a00:c500:561:201::7]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "libav.khirnov.net", Issuer "smtp.khirnov.net SMTP CA" (verified OK)) by mail0.khirnov.net (Postfix) with ESMTPS id 16D812400F5 for ; Mon, 11 Apr 2022 11:00:04 +0200 (CEST) Received: by libav.khirnov.net (Postfix, from userid 1000) id 122A53A0631; Mon, 11 Apr 2022 10:49:36 +0200 (CEST) From: Anton Khirnov To: ffmpeg-devel@ffmpeg.org Date: Mon, 11 Apr 2022 10:49:34 +0200 Message-Id: <20220411084934.8477-1-anton@khirnov.net> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220324230738.GW2829255@pb2> References: <20220324230738.GW2829255@pb2> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] lavc/snow: only allocate mconly_picture for decoding 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: xyPzBTk0nLBF It is not used in the encoder. --- Does this fix the crash? --- libavcodec/snow.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/libavcodec/snow.c b/libavcodec/snow.c index 0a500695ce..97b0448dbf 100644 --- a/libavcodec/snow.c +++ b/libavcodec/snow.c @@ -513,16 +513,20 @@ int ff_snow_common_init_after_header(AVCodecContext *avctx) { int ret, emu_buf_size; if(!s->scratchbuf) { - if ((ret = ff_get_buffer(s->avctx, s->mconly_picture, - AV_GET_BUFFER_FLAG_REF)) < 0) - return ret; + if (av_codec_is_decoder(avctx->codec)) { + if ((ret = ff_get_buffer(s->avctx, s->mconly_picture, + AV_GET_BUFFER_FLAG_REF)) < 0) + return ret; + } + emu_buf_size = FFMAX(s->mconly_picture->linesize[0], 2*avctx->width+256) * (2 * MB_SIZE + HTAPS_MAX - 1); if (!FF_ALLOCZ_TYPED_ARRAY(s->scratchbuf, FFMAX(s->mconly_picture->linesize[0], 2*avctx->width+256) * 7 * MB_SIZE) || !FF_ALLOCZ_TYPED_ARRAY(s->emu_edge_buffer, emu_buf_size)) return AVERROR(ENOMEM); } - if(s->mconly_picture->format != avctx->pix_fmt) { + if (av_codec_is_decoder(avctx->codec) && + s->mconly_picture->format != avctx->pix_fmt) { av_log(avctx, AV_LOG_ERROR, "pixel format changed\n"); return AVERROR_INVALIDDATA; }