From patchwork Sat Aug 29 17:56:14 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 21987 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 C029E4498E0 for ; Sat, 29 Aug 2020 20:56:48 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A21C16882C2; Sat, 29 Aug 2020 20:56:48 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr1-f65.google.com (mail-wr1-f65.google.com [209.85.221.65]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3A2C06801C6 for ; Sat, 29 Aug 2020 20:56:42 +0300 (EEST) Received: by mail-wr1-f65.google.com with SMTP id f7so2122351wrw.1 for ; Sat, 29 Aug 2020 10:56:42 -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:mime-version :content-transfer-encoding; bh=SZ98EPNO7hOHh3he2xM/yjvFCvn0u+YSaKa1HHhhKaA=; b=kMjhM1I6HmjYzIav3JxnvrnSKPeRskwPJZlibN/nS/MFSHrrhJVjtp1ikG9IFBv/sV p1spGWpiNZiz00MoJB8Mra3F29DdHFO0lqZ6JcD8Zt5cxV6nLf9VZOaqcEMK3RTeXRj+ ypDjkvLBu++y5HaIkaEtMf9+tmXVqlhSRvht0vDMdqhD/eHa1RRB40O60wXinHNzmCPL gWJgqEXf/r1NuBI2IZhX/6o7QQ2GiL6y/pCGz6zHMX4qi3LO0PleLKyqg1PSagtBssoD tDGwQiom+n8nfGYQDrU1IRrRUHDZkz+eICDrtB+xEiT/ZfzCRtDH5eQWP4/ghgyA7yMw BV/g== 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:mime-version :content-transfer-encoding; bh=SZ98EPNO7hOHh3he2xM/yjvFCvn0u+YSaKa1HHhhKaA=; b=AccqNNaJjXmLpQwxiSi5F1aToiY7mfzLNKJ2uBm5xG0CZJ+1EcMMiiUqkADgrX5EDO lGASWkTrHmChGgPXcXdAUQv60Gg+wkX1YcwUTWdGsoB5F1nA/YkPuvU5SNuXbsrZpmQN cLEy1RQYbcdpoQEsJuts6zD6eMTGCYvzVabGJ7LIExk7Ni8/8MQo7CbGIcbqshVRduRq OL3URZ8cXinL3ZI2Z8mSmVXEI/uS1GOUM6IkQ6HzHEqma4YMIjs7ZeKuv5BX+9nu4fRq Hf8ijPPVIMHE/wT19kbMhZwkphZ2tLSDnc8ckgfp8aPXpK5AAInoj9HS+XVYHGqna1xG /EOA== X-Gm-Message-State: AOAM530HZgpxZUyQpTzgGzOu8dI02IGA6F0vQ+oLRMe49v/p9V2gSoQ+ VAxpKQ2QS9ER0r11Hyt5+kiz05U8yvI= X-Google-Smtp-Source: ABdhPJw/m231loXGkGW5s2Xa1xxf7uLQ81VCpGdHV1POnThpwS+Qjv3dsNfatsnDZAMfZHYkNZaV/w== X-Received: by 2002:a5d:4642:: with SMTP id j2mr4283156wrs.82.1598723801268; Sat, 29 Aug 2020 10:56:41 -0700 (PDT) Received: from sblaptop.fritz.box (ipbcc1fb0f.dynamic.kabel-deutschland.de. [188.193.251.15]) by smtp.gmail.com with ESMTPSA id z8sm4016734wmf.10.2020.08.29.10.56.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 Aug 2020 10:56:40 -0700 (PDT) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 29 Aug 2020 19:56:14 +0200 Message-Id: <20200829175626.11682-1-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 01/13] avcodec/cinepakenc: Cleanup generically after init failure 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 --- libavcodec/cinepakenc.c | 36 ++++++++++-------------------------- 1 file changed, 10 insertions(+), 26 deletions(-) diff --git a/libavcodec/cinepakenc.c b/libavcodec/cinepakenc.c index 6024df0fba..cc125ed39e 100644 --- a/libavcodec/cinepakenc.c +++ b/libavcodec/cinepakenc.c @@ -171,22 +171,22 @@ static av_cold int cinepak_encode_init(AVCodecContext *avctx) if (!(s->last_frame = av_frame_alloc())) return AVERROR(ENOMEM); if (!(s->best_frame = av_frame_alloc())) - goto enomem; + return AVERROR(ENOMEM); if (!(s->scratch_frame = av_frame_alloc())) - goto enomem; + return AVERROR(ENOMEM); if (avctx->pix_fmt == AV_PIX_FMT_RGB24) if (!(s->input_frame = av_frame_alloc())) - goto enomem; + return AVERROR(ENOMEM); if (!(s->codebook_input = av_malloc_array((avctx->pix_fmt == AV_PIX_FMT_RGB24 ? 6 : 4) * (avctx->width * avctx->height) >> 2, sizeof(*s->codebook_input)))) - goto enomem; + return AVERROR(ENOMEM); if (!(s->codebook_closest = av_malloc_array((avctx->width * avctx->height) >> 2, sizeof(*s->codebook_closest)))) - goto enomem; + return AVERROR(ENOMEM);; for (x = 0; x < (avctx->pix_fmt == AV_PIX_FMT_RGB24 ? 4 : 3); x++) if (!(s->pict_bufs[x] = av_malloc((avctx->pix_fmt == AV_PIX_FMT_RGB24 ? 6 : 4) * (avctx->width * avctx->height) >> 2))) - goto enomem; + return AVERROR(ENOMEM); mb_count = avctx->width * avctx->height / MB_AREA; @@ -199,13 +199,13 @@ static av_cold int cinepak_encode_init(AVCodecContext *avctx) frame_buf_size = CVID_HEADER_SIZE + s->max_max_strips * strip_buf_size; if (!(s->strip_buf = av_malloc(strip_buf_size))) - goto enomem; + return AVERROR(ENOMEM); if (!(s->frame_buf = av_malloc(frame_buf_size))) - goto enomem; + return AVERROR(ENOMEM); if (!(s->mb = av_malloc_array(mb_count, sizeof(mb_info)))) - goto enomem; + return AVERROR(ENOMEM); av_lfg_init(&s->randctx, 1); s->avctx = avctx; @@ -252,23 +252,6 @@ static av_cold int cinepak_encode_init(AVCodecContext *avctx) s->max_strips = s->max_max_strips; return 0; - -enomem: - av_frame_free(&s->last_frame); - av_frame_free(&s->best_frame); - av_frame_free(&s->scratch_frame); - if (avctx->pix_fmt == AV_PIX_FMT_RGB24) - av_frame_free(&s->input_frame); - av_freep(&s->codebook_input); - av_freep(&s->codebook_closest); - av_freep(&s->strip_buf); - av_freep(&s->frame_buf); - av_freep(&s->mb); - - for (x = 0; x < (avctx->pix_fmt == AV_PIX_FMT_RGB24 ? 4 : 3); x++) - av_freep(&s->pict_bufs[x]); - - return AVERROR(ENOMEM); } static int64_t calculate_mode_score(CinepakEncContext *s, int h, @@ -1206,4 +1189,5 @@ AVCodec ff_cinepak_encoder = { .close = cinepak_encode_end, .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_RGB24, AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE }, .priv_class = &cinepak_class, + .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, }; From patchwork Sat Aug 29 17:56:15 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 21988 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 31FDA44AD75 for ; Sat, 29 Aug 2020 20:57:11 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 0C97F689ABF; Sat, 29 Aug 2020 20:57:11 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm1-f68.google.com (mail-wm1-f68.google.com [209.85.128.68]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 0EA7A6881BF for ; Sat, 29 Aug 2020 20:57:04 +0300 (EEST) Received: by mail-wm1-f68.google.com with SMTP id z9so1886642wmk.1 for ; Sat, 29 Aug 2020 10:57:04 -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=hbn3R24+0/Gdgoc1hkgB9XDhI0NNAvxLZ1RQlWY1naw=; b=AZ0XF4zR+12oglTfUdS5cUzLezVNhpWJ1LoPCHXMNft5K5SAHBYdXPq266ClaL3ugR 8gCXhlVTYFjsUI2PX1OKVIfVwILODUSAwZWSbvfur6BREsYVPFM/5O3m2qGMenmxgC1l yBO+MfyiFPk701stCxWoqi5BZCnK+eeBZcCEbiNoWYykM+jwAIR9cu8bIFpGfhEB5EjK arvJvNd4+EJO5ee59bvE13McOp1LpUprWxJbVdLjUSMhwuVTi4LgojAzV7tztRhHqFv5 ILh+UXFiB/CIsuXjcVXXh3jEIUUvC01iPYdBqFXqsy+2aNRzBIZGJeeI5Faj9wIAUjrm Kt8g== 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=hbn3R24+0/Gdgoc1hkgB9XDhI0NNAvxLZ1RQlWY1naw=; b=gnwlTyaXfYYVzcAQDZ6o4w9h6cpUS6JE+VDCJwpM2VMpHo6Epf7lItDRgtYylZ/aIO n7FFPoe/qe4oCTdHqqAGq+8tq1R/ILljFqeFbgpz+N70FrZ7eukZJwov7i02CBRc3ccl nUOAQKO/HMBAeNsVkQ4JWEbYjJQNq0Y3pzTINTtNi8mBdugvkzEkn60BY4jACjQbxh/u DFEZMVVjjJtprz3mBSYNAaT1qbCU7PZrUGfgYlYJir2bWLtPoAjFWldzecRbUSJceP0g FronTR7SD1GK43wMKaLIEiXbtF5lPs7lhvbNWuMA3EHUOWh9DWrdfLkp/t8KDMUS9KWI G3Xw== X-Gm-Message-State: AOAM530FmWKj6L4HHqv2pgZUsKu99kY1a/MjEvgI35iJwarZ9Kk1rSl9 0UB2d/htuGSrAlpdkw9B8YeCw4wKWcM= X-Google-Smtp-Source: ABdhPJybTk6h3KLxYL4FeLM8GOcJUxgtZGcLiD+aWC2Xflk/f5Rg1aHPabMq0noT+IJFSCN8Xk/etg== X-Received: by 2002:a7b:c015:: with SMTP id c21mr3976104wmb.87.1598723823272; Sat, 29 Aug 2020 10:57:03 -0700 (PDT) Received: from sblaptop.fritz.box (ipbcc1fb0f.dynamic.kabel-deutschland.de. [188.193.251.15]) by smtp.gmail.com with ESMTPSA id z8sm4016734wmf.10.2020.08.29.10.57.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 Aug 2020 10:57:02 -0700 (PDT) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 29 Aug 2020 19:56:15 +0200 Message-Id: <20200829175626.11682-2-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200829175626.11682-1-andreas.rheinhardt@gmail.com> References: <20200829175626.11682-1-andreas.rheinhardt@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 02/13] avcodec/eacmv: Cleanup generically after init failure 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 --- libavcodec/eacmv.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/libavcodec/eacmv.c b/libavcodec/eacmv.c index 6f39d72b88..b239acffda 100644 --- a/libavcodec/eacmv.c +++ b/libavcodec/eacmv.c @@ -50,11 +50,8 @@ static av_cold int cmv_decode_init(AVCodecContext *avctx){ s->last_frame = av_frame_alloc(); s->last2_frame = av_frame_alloc(); - if (!s->last_frame || !s->last2_frame) { - av_frame_free(&s->last_frame); - av_frame_free(&s->last2_frame); + if (!s->last_frame || !s->last2_frame) return AVERROR(ENOMEM); - } return 0; } @@ -243,4 +240,5 @@ AVCodec ff_eacmv_decoder = { .close = cmv_decode_end, .decode = cmv_decode_frame, .capabilities = AV_CODEC_CAP_DR1, + .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, }; From patchwork Sat Aug 29 17:56:16 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 21989 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 5A07D44AD75 for ; Sat, 29 Aug 2020 20:57:13 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 3F905689E13; Sat, 29 Aug 2020 20:57:13 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm1-f66.google.com (mail-wm1-f66.google.com [209.85.128.66]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2126D6881EF for ; Sat, 29 Aug 2020 20:57:05 +0300 (EEST) Received: by mail-wm1-f66.google.com with SMTP id b79so1870734wmb.4 for ; Sat, 29 Aug 2020 10:57:05 -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=DHnIIzG4+KnZcmG0PK0FQCSoTJspifi8d/6i0JCAQas=; b=qMiorzGOemOglSG2vt/CHzalUPMvgGxtfww/U56mJb8gvEwZ4PySicDZchEYroAVOp kC3taSN0E/lAy8/jPybfbkIioAJEaAiijROhK+EuRCcarb+Fu3yJFbs5AHlTbZ7Ge/pp aFJJBTvVUZ+J9A4rpZIJiDj3OzrCtWR9S7cJUJbAir5V0jetbgLBCvaqReTSInsi0k2M Q5KsUSiYPsJvvNOKAzAM8u+lntslrBvuL8ZEsx6ggQFfS9S4t6w8AgDCS3ymptoscr1b wPTlTsMNnTMau5HGxGJk/DnC9zzvpnTq4HoTiRRdyA8Kxu2qftEWtSyVtaTpcn064z5l PEgQ== 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=DHnIIzG4+KnZcmG0PK0FQCSoTJspifi8d/6i0JCAQas=; b=H6FavCOcWckDK4BDA5fTNK8KgFv3QePwq/TI5AY+faZk0YLqcoG+mnT/6+SaDTQHJm 0/6HZGme2VjwteCGvP2uYNG8vuk9Z/MQXlaKnGBMqPC36q+UVSvf4ajqqqXasWRYPWcb rKEWefdD0BSQY7f6OZMFZsKUOrIdKUqHW8g4jc0szSmuSum8mAxHJPM1VaPE/oNhXnAf fkvG82K9zGYrZX6E7MvzvgEXHFSpWNDSqNBVqd/4hXj+I+H8NjI734QdtDJVl+Tgt++s cxy8+zl+Og173Hrm/4ncF6Bi4MM0MRJ51lC+ACuX1NHcWoNHApiEzBPSa76Ut3e3TnGq x3ZQ== X-Gm-Message-State: AOAM5316yj222FCKZdrnYv1iM27wPS/5pBAvat7ntiALhtW5bZtrnBdV /CgZjf0oUU1vtcrM6nq/ZRKEJOBqmbA= X-Google-Smtp-Source: ABdhPJw5Bix6jh3r1GiuCJcAxUvld+c8uhoe0EBLCQR5Gn1Pqp/EC2kZRGOzqjeaqi/RkGUPvO/8KA== X-Received: by 2002:a1c:6087:: with SMTP id u129mr3860342wmb.157.1598723824324; Sat, 29 Aug 2020 10:57:04 -0700 (PDT) Received: from sblaptop.fritz.box (ipbcc1fb0f.dynamic.kabel-deutschland.de. [188.193.251.15]) by smtp.gmail.com with ESMTPSA id z8sm4016734wmf.10.2020.08.29.10.57.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 Aug 2020 10:57:03 -0700 (PDT) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 29 Aug 2020 19:56:16 +0200 Message-Id: <20200829175626.11682-3-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200829175626.11682-1-andreas.rheinhardt@gmail.com> References: <20200829175626.11682-1-andreas.rheinhardt@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 03/13] avcodec/interplayvideo: Cleanup generically after init failure 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 --- libavcodec/interplayvideo.c | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/libavcodec/interplayvideo.c b/libavcodec/interplayvideo.c index 274641c3d1..58400b6ace 100644 --- a/libavcodec/interplayvideo.c +++ b/libavcodec/interplayvideo.c @@ -1160,7 +1160,6 @@ static void ipvideo_decode_format_11_opcodes(IpvideoContext *s, AVFrame *frame) static av_cold int ipvideo_decode_init(AVCodecContext *avctx) { IpvideoContext *s = avctx->priv_data; - int ret; s->avctx = avctx; @@ -1175,8 +1174,7 @@ static av_cold int ipvideo_decode_init(AVCodecContext *avctx) s->prev_decode_frame = av_frame_alloc(); if (!s->last_frame || !s->second_last_frame || !s->cur_decode_frame || !s->prev_decode_frame) { - ret = AVERROR(ENOMEM); - goto error; + return AVERROR(ENOMEM); } s->cur_decode_frame->width = avctx->width; @@ -1187,12 +1185,6 @@ static av_cold int ipvideo_decode_init(AVCodecContext *avctx) s->prev_decode_frame->format = avctx->pix_fmt; return 0; -error: - av_frame_free(&s->last_frame); - av_frame_free(&s->second_last_frame); - av_frame_free(&s->cur_decode_frame); - av_frame_free(&s->prev_decode_frame); - return ret; } static int ipvideo_decode_frame(AVCodecContext *avctx, @@ -1381,4 +1373,5 @@ AVCodec ff_interplay_video_decoder = { .close = ipvideo_decode_end, .decode = ipvideo_decode_frame, .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_PARAM_CHANGE, + .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, }; From patchwork Sat Aug 29 17:56:17 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 21990 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 761E544AD75 for ; Sat, 29 Aug 2020 20:57:14 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5ADCE68A545; Sat, 29 Aug 2020 20:57:14 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm1-f67.google.com (mail-wm1-f67.google.com [209.85.128.67]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 41D1368A188 for ; Sat, 29 Aug 2020 20:57:06 +0300 (EEST) Received: by mail-wm1-f67.google.com with SMTP id y8so1720003wma.0 for ; Sat, 29 Aug 2020 10:57:06 -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=IY53eN89el1COz29hHzEdNuL45HQDir2Salg1UuGsx4=; b=dyrHGMkMs8SGldyqp3LW14LnYk6eUbI5W6MWHWXDFt2PHJuwbfggTEAsQ9VDBWS8cN Ntyz8Cwn8uoNem6T6FOLrFG2IaZaVHRvma7Y7Y0iJr09zL7Vql423ch3vipZyU6sUvRe zlbLBgTgIvV9fHGeQeTRvG5koiitzXy4RH53P1WLkQBFgOpRhTMNRsoogW6ewjJh0y+K tVLFZrKpO1w+rWxCViZuhYShkizcqH2v3rmDjM5yl6ZZWt6Ve2iQC+l8x3T1HdxfLxTf O4lGDW+EfCN/KmVY6vWh7mmpNprFF0epgmk0DQjNnZVsCxrG4NOstuvV1s5ICUKhuiHO truA== 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=IY53eN89el1COz29hHzEdNuL45HQDir2Salg1UuGsx4=; b=gj4tFNQf0fWtMzgW8upLlWKFYLtA+7PF7V3+Di4wmqq1u5eqIt7jFDqa33/G11wlzd GBW+StvxcKNWNfFVEQDUf7Vp2Vz/75A4WE0L13JzMS288lpHGpcOWkknw/wJopXkW83C KiI3RdtAEqtlHKtTFpHBAkgAefmO2izQccTScYwATbg+fho+Kg1eLp7ApYPcyWmNnSu3 W3GmPIFbDzLapo9tF9bBQqt0dkUq7fYDcC+889XT71Qotg1wxOsCFXC0LD11uso426pG aPH8VTb2JobVlFNp78Ia7RTpUq2zdlOEXoJXPjem44/r/MeXLxONvVF6O7hRyUi9ipGW pHjw== X-Gm-Message-State: AOAM530Ao+Jp4OzrSckO4OazlA4j1cRBf1Lz4pS0Cj7qt5EpGczkfSlw hVAfC2s3f0rPzvSCFvF1nmayOcdMK68= X-Google-Smtp-Source: ABdhPJzQVwHRJVtrMd9iqaLfL2ICNu7L2DGpAAfR63ac+WzAypwFx2rQ+G1mxcwleATkZxkvHuExgw== X-Received: by 2002:a1c:5f41:: with SMTP id t62mr3923726wmb.22.1598723825363; Sat, 29 Aug 2020 10:57:05 -0700 (PDT) Received: from sblaptop.fritz.box (ipbcc1fb0f.dynamic.kabel-deutschland.de. [188.193.251.15]) by smtp.gmail.com with ESMTPSA id z8sm4016734wmf.10.2020.08.29.10.57.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 Aug 2020 10:57:04 -0700 (PDT) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 29 Aug 2020 19:56:17 +0200 Message-Id: <20200829175626.11682-4-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200829175626.11682-1-andreas.rheinhardt@gmail.com> References: <20200829175626.11682-1-andreas.rheinhardt@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 04/13] avcodec/mss3: Remove unnecessary free of unallocated 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 Cc: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" The packet will only be allocated a few lines below. Signed-off-by: Andreas Rheinhardt --- libavcodec/mss3.c | 1 - 1 file changed, 1 deletion(-) diff --git a/libavcodec/mss3.c b/libavcodec/mss3.c index 113af5ba37..a301675ec2 100644 --- a/libavcodec/mss3.c +++ b/libavcodec/mss3.c @@ -844,7 +844,6 @@ static av_cold int mss3_decode_init(AVCodecContext *avctx) b_width * b_height); if (!c->dct_coder[i].prev_dc) { av_log(avctx, AV_LOG_ERROR, "Cannot allocate buffer\n"); - av_frame_free(&c->pic); while (i >= 0) { av_freep(&c->dct_coder[i].prev_dc); i--; From patchwork Sat Aug 29 17:56:18 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 21991 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 A691244AD75 for ; Sat, 29 Aug 2020 20:57:17 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8B44168A561; Sat, 29 Aug 2020 20:57:17 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm1-f67.google.com (mail-wm1-f67.google.com [209.85.128.67]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 51A656881EF for ; Sat, 29 Aug 2020 20:57:07 +0300 (EEST) Received: by mail-wm1-f67.google.com with SMTP id z9so1886708wmk.1 for ; Sat, 29 Aug 2020 10:57:07 -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=jpJFK323Z9BCFPh+XrK/ZMLAvUmX+DLKAvNiNU4Jqpo=; b=YkOMqyp71hmd4Y6DlMVNPgO9vp0w6nC7oD8eN9HdgvkGkFfokknKcFFG5WAtSYOEjG 5LBmyPhQNBQLFQZ9eyPZND5nIpP4da5EfzJWsQ0Ka/IRfIAAqf6C/3sVpSXbpPu6GdXp DlyEqDXceO2H5Kk/K/4L42l5+0SsNOVOaDSvKXI9p8p01a164wv4LhoVwl4Svg6wX2IF Qx7Q/9zuoRTPmHcRwwdVzy1UBOTZw9G9zTxxcHu4+hzxdRvcFSPGugNDO8TbJ1BHxJyi J26L2OTz7XVDFPr+oE2bNrzm2yOJc9LlL9Kb2vR+BTRXB9UYbPr4ZT1rYY8tGpE8NwGy GCyQ== 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=jpJFK323Z9BCFPh+XrK/ZMLAvUmX+DLKAvNiNU4Jqpo=; b=VjRDCTWrReS2iV0TNwrjSDIlzW/HeJk6+zypB0bxChZsIb/oq8STFymSb6h3rWe1HJ /aBPveMpDnME05Tbx5EOlCfqlpiBr3hWArq+2ZHfSHhxPFCxTpkD/JR3yp/FIKzvfbAx TMre+9S0YM4Hun3MFoiE/J+lxEj7nr08tdHXsf+DZeJKOs94icQfcIMCaEsRLXOdcfzE hLFXTZUig8uXPFTV5ulzBjsb95IjY3PvwZR87efk67soQixfp9RANoKpv+S68Mt3Ez2s tVE0ccULfQcp3ImF+gS5HSMlEsbsTD7EcAM909Ye4URssllvfUTVDuJc0OMLdctTSJf5 uGvQ== X-Gm-Message-State: AOAM531DeNDqOwiFLYdiMGxiV6/wk6BK33ej6hxK6vR5BX60ptNfZvWb WtGnrCE4s50107J2JnPi1jhZpgGm34A= X-Google-Smtp-Source: ABdhPJx5060TThako63dDXyFp8n/l1K/g3wlUJ35SzC3hJ2gkKZB1/kpyT+13pBejA2Gxh5wjKUZVg== X-Received: by 2002:a1c:f609:: with SMTP id w9mr3992081wmc.150.1598723826500; Sat, 29 Aug 2020 10:57:06 -0700 (PDT) Received: from sblaptop.fritz.box (ipbcc1fb0f.dynamic.kabel-deutschland.de. [188.193.251.15]) by smtp.gmail.com with ESMTPSA id z8sm4016734wmf.10.2020.08.29.10.57.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 Aug 2020 10:57:06 -0700 (PDT) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 29 Aug 2020 19:56:18 +0200 Message-Id: <20200829175626.11682-5-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200829175626.11682-1-andreas.rheinhardt@gmail.com> References: <20200829175626.11682-1-andreas.rheinhardt@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 05/13] avcodec/mss3: Cleanup generically after init failure 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 --- libavcodec/mss3.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/libavcodec/mss3.c b/libavcodec/mss3.c index a301675ec2..74f4b5e671 100644 --- a/libavcodec/mss3.c +++ b/libavcodec/mss3.c @@ -844,19 +844,13 @@ static av_cold int mss3_decode_init(AVCodecContext *avctx) b_width * b_height); if (!c->dct_coder[i].prev_dc) { av_log(avctx, AV_LOG_ERROR, "Cannot allocate buffer\n"); - while (i >= 0) { - av_freep(&c->dct_coder[i].prev_dc); - i--; - } return AVERROR(ENOMEM); } } c->pic = av_frame_alloc(); - if (!c->pic) { - mss3_decode_end(avctx); + if (!c->pic) return AVERROR(ENOMEM); - } avctx->pix_fmt = AV_PIX_FMT_YUV420P; @@ -875,4 +869,5 @@ AVCodec ff_msa1_decoder = { .close = mss3_decode_end, .decode = mss3_decode_frame, .capabilities = AV_CODEC_CAP_DR1, + .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, }; From patchwork Sat Aug 29 17:56:19 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 21992 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 CCA0444AD75 for ; Sat, 29 Aug 2020 20:57:18 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B1B5B68ABFD; Sat, 29 Aug 2020 20:57:18 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr1-f65.google.com (mail-wr1-f65.google.com [209.85.221.65]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 438D968A543 for ; Sat, 29 Aug 2020 20:57:08 +0300 (EEST) Received: by mail-wr1-f65.google.com with SMTP id h15so2069700wrt.12 for ; Sat, 29 Aug 2020 10:57:08 -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=OBnpL8DuizS8S5/NUar4E7FYc+WWOHkkK6JVwb53ao4=; b=VToEAPvD+sblP1R02jmyqRxjM3ZUBpc+PR/BLFn29rxruj3AnOlY9wRkVRrTZbXer/ s63CgXd2qZiQIZZ5CxglC5DZLH7ZrdhAKgQ2TFNLbcGHBjXFre3oOw+WPkH3/4AUyCDD /dEdCZI6mjK5s8+A0whk1iRZ5QMn4rNHx0L2ApaHiSb3KHQnU6kyrkLmlnN+Emd9WTLY wZEVoTooSI7LNky4X9ZJvszdUI2jEY4NSbVVFGVMT59B6Q4KbZs9Bp82hp7MFoWBMEpT SHg11++bNz5xCzxSrsAIP/mWy69voW+ZYpmPdTF9UsK4zRf+T2z87ERFJWgCcP1w8EwZ Owsg== 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=OBnpL8DuizS8S5/NUar4E7FYc+WWOHkkK6JVwb53ao4=; b=fNfdjTuNSWsW8pmfeMLvZ+l2ZGMhjUFsd69HtXcOWkSt77o+0kmRYWk9eX65JQnzqQ JfGDEe6FYuxp4A1ftk14/1O0EcLhz/8hmXRDbS/0gyCGOGBxqSRsnG3KgmTPiBZjmB+D Qn1s00uFTsmq6NbkZ/4SVp1qCJNW1d5/aVz7RNrJ4rIt2TRCnn63gqkjJs61WSpCWAc/ gXOUFkCqKP0sbpfxIgCPzjyP1UXu1cqOtuUXGDoXXY3ZIZbSy7pdnYGK+nDcZlp6KnAQ GD+7cgQg6N32ifR3RG9spSks+6/UUZFjZAH4p8ydE7cdtoRrLy0dzteg6qV3zFVme1oX V18Q== X-Gm-Message-State: AOAM532YKdRtGt3ax8lqE4tvBR4he6cCw9UdoQ1dyjlHpumbKU9B0rbc fI1rP8KuMSMFAMFstmZjlYX5UW3MRds= X-Google-Smtp-Source: ABdhPJyJr6BAbAiqmC3hBrDvl+kZirfbisoRjNLXFr20A8OmEQBB2khsxyhby+QtMOGFx5NxeY8Dlw== X-Received: by 2002:adf:f011:: with SMTP id j17mr4159906wro.335.1598723827554; Sat, 29 Aug 2020 10:57:07 -0700 (PDT) Received: from sblaptop.fritz.box (ipbcc1fb0f.dynamic.kabel-deutschland.de. [188.193.251.15]) by smtp.gmail.com with ESMTPSA id z8sm4016734wmf.10.2020.08.29.10.57.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 Aug 2020 10:57:07 -0700 (PDT) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 29 Aug 2020 19:56:19 +0200 Message-Id: <20200829175626.11682-6-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200829175626.11682-1-andreas.rheinhardt@gmail.com> References: <20200829175626.11682-1-andreas.rheinhardt@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 06/13] avcodec/roqvideodec: Cleanup generically after init failure 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 --- libavcodec/roqvideodec.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/libavcodec/roqvideodec.c b/libavcodec/roqvideodec.c index a0c293f2f0..dd045ed5eb 100644 --- a/libavcodec/roqvideodec.c +++ b/libavcodec/roqvideodec.c @@ -184,11 +184,8 @@ static av_cold int roq_decode_init(AVCodecContext *avctx) s->last_frame = av_frame_alloc(); s->current_frame = av_frame_alloc(); - if (!s->current_frame || !s->last_frame) { - av_frame_free(&s->current_frame); - av_frame_free(&s->last_frame); + if (!s->current_frame || !s->last_frame) return AVERROR(ENOMEM); - } avctx->pix_fmt = AV_PIX_FMT_YUVJ444P; avctx->color_range = AVCOL_RANGE_JPEG; @@ -248,4 +245,5 @@ AVCodec ff_roq_decoder = { .close = roq_decode_end, .decode = roq_decode_frame, .capabilities = AV_CODEC_CAP_DR1, + .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, }; From patchwork Sat Aug 29 17:56:20 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 21993 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 7EABC44AD75 for ; Sat, 29 Aug 2020 20:57:19 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6B21368ACB2; Sat, 29 Aug 2020 20:57:19 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr1-f67.google.com (mail-wr1-f67.google.com [209.85.221.67]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id EB08868A94D for ; Sat, 29 Aug 2020 20:57:09 +0300 (EEST) Received: by mail-wr1-f67.google.com with SMTP id e16so2117890wrm.2 for ; Sat, 29 Aug 2020 10:57:09 -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=TGFQ7heFVAvIPGfNAmVVjTSw3zSNhOsf2mVbCuR7iKQ=; b=UtX+w5Lvrmt0f1jWOJcIGl5GSOTO/Q0bLomqitxEzG3pK7XXO42lvBxoWmw+00o8Ja JeyEZbgcQYpuPAWdad+MTUdhWpg1YokM1kScUT71YH+hVhRpwVopOJ1BCXJvYw+fSusg Ne0e6Lx5mwp6V6JtTFYAdHLPW4cLgkJfrhZmcm/D/ykBy0z3/TXUO1v6ys5Ls6PjI1ZI T5JL1ueCFm0GOg9x3N3T3rsqED/OJb+/ymdO5Ma8GkRnqaJhbVgzZaFp/WfE1phLNGHm muP0YsVcgm24qSCerZCBWfbcnj1hQ+vVb9B0LXiAm+rCTlp2nCwKDrnjpf9A2T28Pfk1 lPCQ== 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=TGFQ7heFVAvIPGfNAmVVjTSw3zSNhOsf2mVbCuR7iKQ=; b=PhC+G/9ylfXP5CchqNMxCZOcVtJdEaMTJFYIOQEWxeLshp2dIDJuW/M+pFLHj72S3I A7NMw4jL2LHs3+Lc+cQg7EJHS+ISf74s+n4n6HKN/C3EAUHJiZs3XU9oaS5sZSGu7B0H Qh3tNXFAd7M2nLENGA0WocvtwhguKGUr/QFmGmJD2YyOUY8LHavTTL3OnKPUcOcquXhG HhjyV1Z+RcmH3gGEck1/GGzA4ihZodoy3h1g9p84QueY1kmMb9rEcZ0n/x0KKtp8YuAu IFVyyzcrP6HVJjmUOpqQz7BBpw60v0oIZlxQ1jAldZXvEwxsKJ61s9s6l/PXF6cAz/l9 UUqQ== X-Gm-Message-State: AOAM532PwapwzjRLw2h031rD0TqLmMqjSSK2gN/zKE0WZvPV8B+w19dr g/uFaPSnzCWAaeF19SUfknh5pS00bBE= X-Google-Smtp-Source: ABdhPJznRUbnUz2z+2KefASSA+zXRBEdQ2qze9jZZZwjrF5H9hB9bYJ2d4JIOS2yOK7h0rElHo4rNA== X-Received: by 2002:a5d:4401:: with SMTP id z1mr4246494wrq.305.1598723829128; Sat, 29 Aug 2020 10:57:09 -0700 (PDT) Received: from sblaptop.fritz.box (ipbcc1fb0f.dynamic.kabel-deutschland.de. [188.193.251.15]) by smtp.gmail.com with ESMTPSA id z8sm4016734wmf.10.2020.08.29.10.57.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 Aug 2020 10:57:08 -0700 (PDT) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 29 Aug 2020 19:56:20 +0200 Message-Id: <20200829175626.11682-7-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200829175626.11682-1-andreas.rheinhardt@gmail.com> References: <20200829175626.11682-1-andreas.rheinhardt@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 07/13] avcodec/roqvideoenc: Cleanup generically after init failure 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 --- libavcodec/roqvideoenc.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/libavcodec/roqvideoenc.c b/libavcodec/roqvideoenc.c index ac05123dc6..dc6a63099d 100644 --- a/libavcodec/roqvideoenc.c +++ b/libavcodec/roqvideoenc.c @@ -1004,10 +1004,8 @@ static av_cold int roq_encode_init(AVCodecContext *avctx) enc->last_frame = av_frame_alloc(); enc->current_frame = av_frame_alloc(); - if (!enc->last_frame || !enc->current_frame) { - roq_encode_end(avctx); + if (!enc->last_frame || !enc->current_frame) return AVERROR(ENOMEM); - } enc->tmpData = av_malloc(sizeof(RoqTempdata)); @@ -1024,10 +1022,8 @@ static av_cold int roq_encode_init(AVCodecContext *avctx) av_malloc_array ((enc->width*enc->height/64), sizeof(motion_vect)); if (!enc->tmpData || !enc->this_motion4 || !enc->last_motion4 || - !enc->this_motion8 || !enc->last_motion8) { - roq_encode_end(avctx); + !enc->this_motion8 || !enc->last_motion8) return AVERROR(ENOMEM); - } return 0; } @@ -1135,4 +1131,5 @@ AVCodec ff_roq_encoder = { .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_NONE }, .priv_class = &roq_class, + .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, }; From patchwork Sat Aug 29 17:56:21 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 21995 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 5D6A744AD75 for ; Sat, 29 Aug 2020 20:57:21 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 429AB68AD2F; Sat, 29 Aug 2020 20:57:21 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm1-f65.google.com (mail-wm1-f65.google.com [209.85.128.65]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B8ED268A848 for ; Sat, 29 Aug 2020 20:57:11 +0300 (EEST) Received: by mail-wm1-f65.google.com with SMTP id o21so1891606wmc.0 for ; Sat, 29 Aug 2020 10:57:11 -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=LDJ4xRvQcA36F9cgZvTj78prwOZHu6eAlddz0UJcpbM=; b=vPmjh2eiUIhKGQgK3hk4LW2TDxSga0ebZlgl3z2QIAn3h2/x9yZ7SXxAn7kaNYUume LEtro1sjZ3V7BQaWjbV8Hc0+gCVLzd1WUMVjt4jkp1ms3qLGre9kCBtcyRaTtDo2crf3 YL7zKVUhSs6u5nv7u6p3o5lROb56/Uw1WQselN8HIrCc7pigowz9H4VJDVYfsZffp1Gq nQruWBo4K6h2AVpsddwz9lqzb8OzPmaljjlI8e/mWUNPRwa+13tNEE8gpfRJzLSt7sG9 U2UzScYp/v2AZMqKRA0SvvV1zRGcFyWW5dFBI54lCkCMJb8IWRkdevyLPcLSlwlnQebj 9nCw== 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=LDJ4xRvQcA36F9cgZvTj78prwOZHu6eAlddz0UJcpbM=; b=lW0adHDzNPvO3X+Pi1htiylb4IiuqVHMKr2MEthqH0JOSF197i9EMvKCdO6JoSby4A I2S1pW4vBwd+UPpJGbMeGw+5Ha7Q3j/5eBcZz69IfM4Hhl9dqagEeX4Vp1/5JoP+NHFS PrrceC6BY7cuMTqzYjVTbF4GGFBEWTiwE5URMR3C6Y8P8dtIkFbMnk3qtvJ61BqB98aF eBMDx5e8G/NS5rsPtogCt8k6dE4mNw7aF++pEUpZKhN6YPCGFGznrSZMjCh+h7JVxnDp Xdykzpo3PhCDloaJXsDsAFk7UUL9THLifKC4JV88hWJBQfzyfWWAU+8+WR4HTThC/z4P QUHg== X-Gm-Message-State: AOAM530eifttv9UUStvEKojEopGyUZO8lrjdbiT0qmWYkFPSKdVl+WVY NkSQ9z1FQi9t5vdZvK30ODpwnHakUS0= X-Google-Smtp-Source: ABdhPJzSivu1nvqutMb5usXx7bcjY2vItyVDIrVyOkhaN0PH5czhnAN0YC8nTNg/b0gYXoSC4plUJw== X-Received: by 2002:a7b:c251:: with SMTP id b17mr3933120wmj.148.1598723830766; Sat, 29 Aug 2020 10:57:10 -0700 (PDT) Received: from sblaptop.fritz.box (ipbcc1fb0f.dynamic.kabel-deutschland.de. [188.193.251.15]) by smtp.gmail.com with ESMTPSA id z8sm4016734wmf.10.2020.08.29.10.57.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 Aug 2020 10:57:10 -0700 (PDT) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 29 Aug 2020 19:56:21 +0200 Message-Id: <20200829175626.11682-8-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200829175626.11682-1-andreas.rheinhardt@gmail.com> References: <20200829175626.11682-1-andreas.rheinhardt@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 08/13] avcodec/wnv1: Use LE bitstream reader, avoid copying packet, fix memleak 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" The Winnov WNV1 format is designed for a little-endian bitstream reader; yet our decoder reversed every byte bitwise (in a buffer only allocated for this purpose) to use a big-endian bitstream reader. This commit stops this. Two things needed to be done to achieve this: The codes in the table used to initialize a VLC reader needed to be reversed bitwise (when initializing a VLC in LE mode, it is expected that the first bit to be read is in the least significant bit; with BE codes the first bit to be read is the most significant bit of the code) and the following expression needed to be adapted: ff_reverse[get_bits(&w->gb, 8 - w->shift)] But this is easy: When only the bits read are reversed, they coincide with what a little-endian bitstream reader reads that reads the original, not-reversed data. But ff_reverse always reverses the full eight bits and this also performs a shift by (8 - (8 - w->shift)) on top of reversing the bits read. So the above line needs to be changed to get_bits(&w->gb, 8 - w->shift) << w->shift and this also shows why the variable shift is named the way it is. Finally, this also fixes a hypothetical memleak: For gigantic packets, initializing a GetBitContext can fail and in this case, the buffer containing the reversed data would leak. Signed-off-by: Andreas Rheinhardt --- libavcodec/wnv1.c | 28 +++++++--------------------- 1 file changed, 7 insertions(+), 21 deletions(-) diff --git a/libavcodec/wnv1.c b/libavcodec/wnv1.c index 915e9c7dc9..857807a951 100644 --- a/libavcodec/wnv1.c +++ b/libavcodec/wnv1.c @@ -24,10 +24,10 @@ * Winnov WNV1 codec. */ +#define BITSTREAM_READER_LE #include "avcodec.h" #include "get_bits.h" #include "internal.h" -#include "mathops.h" typedef struct WNV1Context { @@ -36,9 +36,9 @@ typedef struct WNV1Context { } WNV1Context; static const uint16_t code_tab[16][2] = { - { 0x1FD, 9 }, { 0xFD, 8 }, { 0x7D, 7 }, { 0x3D, 6 }, { 0x1D, 5 }, { 0x0D, 4 }, { 0x005, 3 }, + { 0x17F, 9 }, { 0xBF, 8 }, { 0x5F, 7 }, { 0x2F, 6 }, { 0x17, 5 }, { 0x0B, 4 }, { 0x005, 3 }, { 0x000, 1 }, - { 0x004, 3 }, { 0x0C, 4 }, { 0x1C, 5 }, { 0x3C, 6 }, { 0x7C, 7 }, { 0xFC, 8 }, { 0x1FC, 9 }, { 0xFF, 8 } + { 0x01, 3 }, { 0x03, 4 }, { 0x07, 5 }, { 0x0F, 6 }, { 0x1F, 7 }, { 0x3F, 8 }, { 0x07F, 9 }, { 0xFF, 8 } }; #define CODE_VLC_BITS 9 @@ -50,7 +50,7 @@ static inline int wnv1_get_code(WNV1Context *w, int base_value) int v = get_vlc2(&w->gb, code_vlc.table, CODE_VLC_BITS, 1); if (v == 15) - return ff_reverse[get_bits(&w->gb, 8 - w->shift)]; + return get_bits(&w->gb, 8 - w->shift) << w->shift; else return base_value + ((v - 7U) << w->shift); } @@ -66,30 +66,17 @@ static int decode_frame(AVCodecContext *avctx, unsigned char *Y,*U,*V; int i, j, ret; int prev_y = 0, prev_u = 0, prev_v = 0; - uint8_t *rbuf; if (buf_size < 8 + avctx->height * (avctx->width/2)/8) { av_log(avctx, AV_LOG_ERROR, "Packet size %d is too small\n", buf_size); return AVERROR_INVALIDDATA; } - rbuf = av_malloc(buf_size + AV_INPUT_BUFFER_PADDING_SIZE); - if (!rbuf) { - av_log(avctx, AV_LOG_ERROR, "Cannot allocate temporary buffer\n"); - return AVERROR(ENOMEM); - } - memset(rbuf + buf_size, 0, AV_INPUT_BUFFER_PADDING_SIZE); - - if ((ret = ff_get_buffer(avctx, p, 0)) < 0) { - av_free(rbuf); + if ((ret = ff_get_buffer(avctx, p, 0)) < 0) return ret; - } p->key_frame = 1; - for (i = 8; i < buf_size; i++) - rbuf[i] = ff_reverse[buf[i]]; - - if ((ret = init_get_bits8(&l->gb, rbuf + 8, buf_size - 8)) < 0) + if ((ret = init_get_bits8(&l->gb, buf + 8, buf_size - 8)) < 0) return ret; if (buf[2] >> 4 == 6) @@ -127,7 +114,6 @@ static int decode_frame(AVCodecContext *avctx, *got_frame = 1; - av_free(rbuf); return buf_size; } @@ -142,7 +128,7 @@ static av_cold int decode_init(AVCodecContext *avctx) code_vlc.table_allocated = 1 << CODE_VLC_BITS; init_vlc(&code_vlc, CODE_VLC_BITS, 16, &code_tab[0][1], 4, 2, - &code_tab[0][0], 4, 2, INIT_VLC_USE_NEW_STATIC); + &code_tab[0][0], 4, 2, INIT_VLC_USE_NEW_STATIC | INIT_VLC_LE); return 0; } From patchwork Sat Aug 29 17:56:22 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 21997 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 8EE9A44AD75 for ; Sat, 29 Aug 2020 20:57:23 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 7C58068AEEC; Sat, 29 Aug 2020 20:57:23 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm1-f68.google.com (mail-wm1-f68.google.com [209.85.128.68]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 993DC68AA9B for ; Sat, 29 Aug 2020 20:57:12 +0300 (EEST) Received: by mail-wm1-f68.google.com with SMTP id a65so1917207wme.5 for ; Sat, 29 Aug 2020 10:57:12 -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=TuT3xhM2Ba/6TvpVYiLp/S4aYwZf+H5BpcXcrYGEhWs=; b=PAYXyJG3/fMVZUMakdB5SWMHgYSLgzi7+AQv636UtqWPfaYI2VP6TUMKFvOMXYsfBb 5K7TNInBtQdkBmBtPjWNf+9NxpyPLW4cukfFAn/1QeKqtaePvCpheWXRNAJCTTBTgDQB DA/mnUrwSUDR+q5Yw4CawmY+p2c/Guh/W47Ber09HFRBV5GkrgBifg8BCcajwTAfFV0i Adxjnq7czimGyaLutTwSAzMh1aFsCOF3P3/jXs+0R7UphAZM0L1Vpx0etAxwxNJS2wSG Bjk+4DzdTBzRMpMmUrMJzEgXhkXQAxnv2TvxMut5nZ5AoKXu8i37cips7hjD971c7LQi er9A== 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=TuT3xhM2Ba/6TvpVYiLp/S4aYwZf+H5BpcXcrYGEhWs=; b=P7D+RkDzSHFVh2a3HozOVdyOTITGWFDqI12BENLoWZWIb/hvTZSIYmkYtTV1ulxUPd lOzYHEX+LUYXpkYlsTNAaVlQ0+xpl90bO/lJmwBqV4YmFtK1zpXjQbWDXBNR/tVKbEGJ dRqwsVE5nKw41Rsx3xW37U3deBp6RU3j+f8CWlU9RzqBO7GvimeW5uorbOq4v+iT/y5G hqah5tiimJI5yHRrIzED8NrOhS08p1rjQrrYL6gKzLr5vPJio3aH2PFPmYOGPUwjRktH uZg8ytULqhHn85GRxKkgg1HkwOutUhuqlFG72SVr4AV3TWn/hAdtmNqBsHY2afas6qWV JgrQ== X-Gm-Message-State: AOAM531fnRrbd1WAYjc9aaYozxVYAvEdymcPazoE2RqqJG7IwYgjC7CR ThMNKgdZgPLjRVLDF1uMk4qPwR+dUn8= X-Google-Smtp-Source: ABdhPJyDGvxQaJwMc68yHz4dTcAJ/gpOraqgVsUbXd6gsChqJgwU+Iq2rVbwtrbcNNlmAphikhlmKw== X-Received: by 2002:a05:600c:202:: with SMTP id 2mr3727588wmi.147.1598723831723; Sat, 29 Aug 2020 10:57:11 -0700 (PDT) Received: from sblaptop.fritz.box (ipbcc1fb0f.dynamic.kabel-deutschland.de. [188.193.251.15]) by smtp.gmail.com with ESMTPSA id z8sm4016734wmf.10.2020.08.29.10.57.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 Aug 2020 10:57:11 -0700 (PDT) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 29 Aug 2020 19:56:22 +0200 Message-Id: <20200829175626.11682-9-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200829175626.11682-1-andreas.rheinhardt@gmail.com> References: <20200829175626.11682-1-andreas.rheinhardt@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 09/13] avcodec/wnv1: Move temporary variables from context to stack 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" Here it even leads to the complete removal of the context. Signed-off-by: Andreas Rheinhardt --- libavcodec/wnv1.c | 40 +++++++++++++++++----------------------- 1 file changed, 17 insertions(+), 23 deletions(-) diff --git a/libavcodec/wnv1.c b/libavcodec/wnv1.c index 857807a951..b5cd0f0f0c 100644 --- a/libavcodec/wnv1.c +++ b/libavcodec/wnv1.c @@ -30,11 +30,6 @@ #include "internal.h" -typedef struct WNV1Context { - int shift; - GetBitContext gb; -} WNV1Context; - static const uint16_t code_tab[16][2] = { { 0x17F, 9 }, { 0xBF, 8 }, { 0x5F, 7 }, { 0x2F, 6 }, { 0x17, 5 }, { 0x0B, 4 }, { 0x005, 3 }, { 0x000, 1 }, @@ -45,26 +40,26 @@ static const uint16_t code_tab[16][2] = { static VLC code_vlc; /* returns modified base_value */ -static inline int wnv1_get_code(WNV1Context *w, int base_value) +static inline int wnv1_get_code(GetBitContext *gb, int shift, int base_value) { - int v = get_vlc2(&w->gb, code_vlc.table, CODE_VLC_BITS, 1); + int v = get_vlc2(gb, code_vlc.table, CODE_VLC_BITS, 1); if (v == 15) - return get_bits(&w->gb, 8 - w->shift) << w->shift; + return get_bits(gb, 8 - shift) << shift; else - return base_value + ((v - 7U) << w->shift); + return base_value + ((v - 7U) << shift); } static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt) { - WNV1Context * const l = avctx->priv_data; const uint8_t *buf = avpkt->data; int buf_size = avpkt->size; AVFrame * const p = data; + GetBitContext gb; unsigned char *Y,*U,*V; - int i, j, ret; + int i, j, ret, shift; int prev_y = 0, prev_u = 0, prev_v = 0; if (buf_size < 8 + avctx->height * (avctx->width/2)/8) { @@ -76,24 +71,24 @@ static int decode_frame(AVCodecContext *avctx, return ret; p->key_frame = 1; - if ((ret = init_get_bits8(&l->gb, buf + 8, buf_size - 8)) < 0) + if ((ret = init_get_bits8(&gb, buf + 8, buf_size - 8)) < 0) return ret; if (buf[2] >> 4 == 6) - l->shift = 2; + shift = 2; else { - l->shift = 8 - (buf[2] >> 4); - if (l->shift > 4) { + shift = 8 - (buf[2] >> 4); + if (shift > 4) { avpriv_request_sample(avctx, "Unknown WNV1 frame header value %i", buf[2] >> 4); - l->shift = 4; + shift = 4; } - if (l->shift < 1) { + if (shift < 1) { avpriv_request_sample(avctx, "Unknown WNV1 frame header value %i", buf[2] >> 4); - l->shift = 1; + shift = 1; } } @@ -102,10 +97,10 @@ static int decode_frame(AVCodecContext *avctx, V = p->data[2]; for (j = 0; j < avctx->height; j++) { for (i = 0; i < avctx->width / 2; i++) { - Y[i * 2] = wnv1_get_code(l, prev_y); - prev_u = U[i] = wnv1_get_code(l, prev_u); - prev_y = Y[(i * 2) + 1] = wnv1_get_code(l, Y[i * 2]); - prev_v = V[i] = wnv1_get_code(l, prev_v); + Y[i * 2] = wnv1_get_code(&gb, shift, prev_y); + prev_u = U[i] = wnv1_get_code(&gb, shift, prev_u); + prev_y = Y[(i * 2) + 1] = wnv1_get_code(&gb, shift, Y[i * 2]); + prev_v = V[i] = wnv1_get_code(&gb, shift, prev_v); } Y += p->linesize[0]; U += p->linesize[1]; @@ -138,7 +133,6 @@ AVCodec ff_wnv1_decoder = { .long_name = NULL_IF_CONFIG_SMALL("Winnov WNV1"), .type = AVMEDIA_TYPE_VIDEO, .id = AV_CODEC_ID_WNV1, - .priv_data_size = sizeof(WNV1Context), .init = decode_init, .decode = decode_frame, .capabilities = AV_CODEC_CAP_DR1, From patchwork Sat Aug 29 17:56:23 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 21998 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 B358244AD75 for ; Sat, 29 Aug 2020 20:57:24 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9BBCB68A922; Sat, 29 Aug 2020 20:57:24 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr1-f68.google.com (mail-wr1-f68.google.com [209.85.221.68]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A64EE68AB99 for ; Sat, 29 Aug 2020 20:57:13 +0300 (EEST) Received: by mail-wr1-f68.google.com with SMTP id w5so2092017wrp.8 for ; Sat, 29 Aug 2020 10:57:13 -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=hVGy4Ri6N43fcvcqdC9RP/J3wtz+4G397I+HSPi9/ZE=; b=m34wvUTByozj0oHGXZ69WmB7XIgWxVYUST9glPsuylL5N+2Uu1JhGhQNMkBmSvYbMl Yz9r9HoRMXXFIHENSeRj5wQ3ePt9sO0qK0ImkXmJX8AGBXCj27fazbgg8E2Bt24qSqr4 yxbg4yJs8jEG8eIe+8DVfaDlRsbmUgRQl8T4fW3JUItyj6/tkvB5i+6HF1yKr0TAgd+T RdEff+zEJnBQuvInH/fKAvVD7B5hnC8KGiWT5zkeMswlVThRlKPBkbAaKIxZoS8Oqsz0 up7fmgxCvn5TNXKdsnXX8nVx/zNp/xEBr5SQq4uNrwEufyfIicVAjJ7VKBSm5cbgR4HZ q4DQ== 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=hVGy4Ri6N43fcvcqdC9RP/J3wtz+4G397I+HSPi9/ZE=; b=GJmWQquCWjPhHFSblwgZ4nx3DyPhAl5J3TS3H8CB7gS9/L3wKPU/FyEt3+Wl/T0mb0 OX2SQLc/JlmNIrOMlrs7nymIdb7mPqOEx50wAAiJv9KWGNjrjWcb3Vy3gA0A6gtVWH09 M9i6ds91K7procn+WHMIVBwftduLch02Ccn+JlaueeWNujGqxcpW7qsA5MWZBkjHZwqy toUqGDMWTN4kXGyrWeU+bwsb3I/olIVx2HKhuacuvlT6eLvi/smiG+G/HVDI4ae7+GL1 MQE7mqDc/1cgErrKpChRK0oGf4wMYoUPM93ELf5zEI5sBBzaujxKYbxP/Puz2oXp2RuY CzrA== X-Gm-Message-State: AOAM533WFxuroJN7YjQ4SV+HdUnDXF0flOmUW3rZICjnYxR/5y0s0hlC AdzThn29ApSBUiKhaj0b0ZdYPz0doyM= X-Google-Smtp-Source: ABdhPJwWUJ7Eud2PZVu8szEVp6zEgJTiudZJsuqBGfPrbsRgeG4Psr73+MXBUfErUn+kBzfs8McFnQ== X-Received: by 2002:adf:90d1:: with SMTP id i75mr4171450wri.278.1598723832794; Sat, 29 Aug 2020 10:57:12 -0700 (PDT) Received: from sblaptop.fritz.box (ipbcc1fb0f.dynamic.kabel-deutschland.de. [188.193.251.15]) by smtp.gmail.com with ESMTPSA id z8sm4016734wmf.10.2020.08.29.10.57.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 Aug 2020 10:57:12 -0700 (PDT) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 29 Aug 2020 19:56:23 +0200 Message-Id: <20200829175626.11682-10-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200829175626.11682-1-andreas.rheinhardt@gmail.com> References: <20200829175626.11682-1-andreas.rheinhardt@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 10/13] avcodec/bitstream: Remove outdated comment 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" The comment referred to the INIT_VLC_USE_STATIC flag which has been removed in 2009 in 595324e143b57a52e2329eb47b84395c70f93087; the function it referred to was removed even earlier in commit 83422c1940d963d395a64bee0cbb9c637192ce8c in 2008. Signed-off-by: Andreas Rheinhardt --- libavcodec/bitstream.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/libavcodec/bitstream.c b/libavcodec/bitstream.c index d379dbc0e8..95e5092b44 100644 --- a/libavcodec/bitstream.c +++ b/libavcodec/bitstream.c @@ -266,9 +266,6 @@ static int build_table(VLC *vlc, int table_nb_bits, int nb_codes, 'wrap' and 'size' make it possible to use any memory configuration and types (byte/word/long) to store the 'bits', 'codes', and 'symbols' tables. - - 'use_static' should be set to 1 for tables, which should be freed - with av_free_static(), 0 if ff_free_vlc() will be used. */ int ff_init_vlc_sparse(VLC *vlc_arg, int nb_bits, int nb_codes, const void *bits, int bits_wrap, int bits_size, From patchwork Sat Aug 29 17:56:24 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 21999 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 C76AE44AD75 for ; Sat, 29 Aug 2020 20:57:25 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id AF0C568ADC1; Sat, 29 Aug 2020 20:57:25 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm1-f66.google.com (mail-wm1-f66.google.com [209.85.128.66]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 82A2C68ACEC for ; Sat, 29 Aug 2020 20:57:14 +0300 (EEST) Received: by mail-wm1-f66.google.com with SMTP id v4so1151957wmj.5 for ; Sat, 29 Aug 2020 10:57:14 -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=rCPp1aXXANQwnHUNEsGOVNbPCVi+hB/qbvUwjmwT8gM=; b=e4sTqyr4vGBPv+hR91jzv+vlLOlQdd8J65eJY9qlOSrnpjddZryzEp6JvKc9awzI1V zeomMSllrmwifb2xAN4gg2KpxgdI04D9gnYOfRyvZMQC5/JisQhWEFDq1IDxa66w9fgA NOlMONCoLaWip1RQp0YuoCijItlpshtvp08lOz/Qu0qtAthT7BdYTNAhUf2zVz1lhmmM OKfw20GvJkpobSfV7tAfUT9BRSeNBQXT31cszXsG9wuFa0pdIb2uJ9boyzfCgoJmh0yo HSr+T+w/alL3GO/iCqephekqHH4JFMMXBaqMxkF6sAikhPvVf5OMI5/nmnSnedfE40Yu KC+g== 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=rCPp1aXXANQwnHUNEsGOVNbPCVi+hB/qbvUwjmwT8gM=; b=tcm49vogaTGrnvfOt9H7VGnQO7X03ho1dVDwr1yoBTPJTp9ww2TqpAKe/Blsvhurv8 /L4mypqbMtzfnu8wRH3Y7UCyNkAg30bmLh2+ftSBwQ1Zd+IO4F3iZbb5QX24FfsJ6QfC x37XCs6f1RfEglg0rUtZAfynTi1YbAbCwgi6FAu+sDvEAtiJ4F2gIiHh0KwfjHsrdAOU V8FSJxEbJMvXbjsrPvti0evs/Yd0mP1WXOkKNfFl4ajtmwz1FDMfqwIZPzuq0p64mLVL A+8eMvAnfIUHbzSMhsUwynKgA6olHqDPBBfm+8Wj0JMTvOnXmlMdsKGgb5odEeH+JkzJ 7AWg== X-Gm-Message-State: AOAM5325aRaCwo9KJsmTxbXXv4uKSbmouvNG0f0pJy7HwIGt0fsYo2DN oopp87Pzv7muOwuUzqhE8/X+ZUp6EXE= X-Google-Smtp-Source: ABdhPJx0n3FbiwNl4z7Mc3JkrclSGKiBt2SOuns2/PjXqTeJ3GT9t5eha70LP3iV8C0bxrinmT66pQ== X-Received: by 2002:a1c:1904:: with SMTP id 4mr3928580wmz.119.1598723833806; Sat, 29 Aug 2020 10:57:13 -0700 (PDT) Received: from sblaptop.fritz.box (ipbcc1fb0f.dynamic.kabel-deutschland.de. [188.193.251.15]) by smtp.gmail.com with ESMTPSA id z8sm4016734wmf.10.2020.08.29.10.57.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 Aug 2020 10:57:13 -0700 (PDT) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 29 Aug 2020 19:56:24 +0200 Message-Id: <20200829175626.11682-11-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200829175626.11682-1-andreas.rheinhardt@gmail.com> References: <20200829175626.11682-1-andreas.rheinhardt@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 11/13] avcodec/yuv4enc: Remove empty functions 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 --- libavcodec/yuv4enc.c | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/libavcodec/yuv4enc.c b/libavcodec/yuv4enc.c index f21b1f36ce..63a7fae964 100644 --- a/libavcodec/yuv4enc.c +++ b/libavcodec/yuv4enc.c @@ -23,11 +23,6 @@ #include "avcodec.h" #include "internal.h" -static av_cold int yuv4_encode_init(AVCodecContext *avctx) -{ - return 0; -} - static int yuv4_encode_frame(AVCodecContext *avctx, AVPacket *pkt, const AVFrame *pic, int *got_packet) { @@ -62,18 +57,11 @@ static int yuv4_encode_frame(AVCodecContext *avctx, AVPacket *pkt, return 0; } -static av_cold int yuv4_encode_close(AVCodecContext *avctx) -{ - return 0; -} - AVCodec ff_yuv4_encoder = { .name = "yuv4", .long_name = NULL_IF_CONFIG_SMALL("Uncompressed packed 4:2:0"), .type = AVMEDIA_TYPE_VIDEO, .id = AV_CODEC_ID_YUV4, - .init = yuv4_encode_init, .encode2 = yuv4_encode_frame, - .close = yuv4_encode_close, .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, }; From patchwork Sat Aug 29 17:56:25 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 21994 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 6F4BF44AD75 for ; Sat, 29 Aug 2020 20:57:20 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5C6F868AC85; Sat, 29 Aug 2020 20:57:20 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm1-f66.google.com (mail-wm1-f66.google.com [209.85.128.66]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 0ACE1689247 for ; Sat, 29 Aug 2020 20:57:15 +0300 (EEST) Received: by mail-wm1-f66.google.com with SMTP id e17so1792978wme.0 for ; Sat, 29 Aug 2020 10:57:15 -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=D1DuBZNvkyA34tbtKwlpVCkdqXPKyTc6VeqkoeOjfXo=; b=AYBWmw/ZZywA2GgiTWYjRKGNRgjUCc4VzdY8FtTZ8xm1DNEzYUrsoW7roIz1YEVD/9 irx0DKP2uYu7xIPgcDwGIFe63keHaWo+CUYanrFL5QukaW4VBIlLoItkez3stkZ+SzMx P6DeNualS3SbP0UG4USplKNNaLCMr2oUMuPIklYIRzWjFUO3QpeeeYpBFAnKUzd7kxdi YV7ZmpZPL24tbqXOYMHcxvcb7vc5sKwlUmNg/fGprFzEo6GTzBpgYkzmOA7T1heW2Bln +WzgFiNxU2Nx+JwQNK2U5/2V8wJM51+x69M0x34+pHM96VpYQZKVz/MkmJtxW8IVluxH 0hhQ== 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=D1DuBZNvkyA34tbtKwlpVCkdqXPKyTc6VeqkoeOjfXo=; b=nK5QNgYNDPLDXu0rvrlu7/goixABGk+IZ44r+owa/D4NtVf9JStbTVcIQXKmNDojJW 1KTJlG1ShaiXirl3Onf9AsetfNkc/hHl6yIzPnGVWlsgANq1+BgzrFd3e838eqi5RJkg X3N8c5WlGEFqDCcW2KbWyKFRsNAQBo2XuwHdam2aQiZ7+sO+lsUhoaokddhYIas/iJGS bjJZKHOpCe5N2R8yMTzW6C+rem2IFqgHCe0jHqvnPpbvyzcNy4mvdRjto8wVyXlt3KMq QStoMoej8dgybgF6sUcAtucGuTNfyAfHsZpcSW0RdzYgaVEwFV1bsNIqBOeVIaBHZvYA mzig== X-Gm-Message-State: AOAM533dF156oibcFjiUUxVdyL/+bWMy75GAUgLVPE34n/imiisQGFHI TY0nJZpk1355uupK8LBEEUGQOPKpY60= X-Google-Smtp-Source: ABdhPJwJLxZOybfxqomdU/Ev6CEcJOhBIotHMEe8d7pRXyowQs/iz+1mLptZI6FXQ9ViSTgZcj9CMQ== X-Received: by 2002:a7b:c941:: with SMTP id i1mr3933520wml.73.1598723835101; Sat, 29 Aug 2020 10:57:15 -0700 (PDT) Received: from sblaptop.fritz.box (ipbcc1fb0f.dynamic.kabel-deutschland.de. [188.193.251.15]) by smtp.gmail.com with ESMTPSA id z8sm4016734wmf.10.2020.08.29.10.57.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 Aug 2020 10:57:14 -0700 (PDT) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 29 Aug 2020 19:56:25 +0200 Message-Id: <20200829175626.11682-12-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200829175626.11682-1-andreas.rheinhardt@gmail.com> References: <20200829175626.11682-1-andreas.rheinhardt@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 12/13] avcodec/y41penc: Remove empty close function 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 --- libavcodec/y41penc.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/libavcodec/y41penc.c b/libavcodec/y41penc.c index 63752e2b44..d7d301fab5 100644 --- a/libavcodec/y41penc.c +++ b/libavcodec/y41penc.c @@ -75,11 +75,6 @@ static int y41p_encode_frame(AVCodecContext *avctx, AVPacket *pkt, return 0; } -static av_cold int y41p_encode_close(AVCodecContext *avctx) -{ - return 0; -} - AVCodec ff_y41p_encoder = { .name = "y41p", .long_name = NULL_IF_CONFIG_SMALL("Uncompressed YUV 4:1:1 12-bit"), @@ -87,7 +82,6 @@ AVCodec ff_y41p_encoder = { .id = AV_CODEC_ID_Y41P, .init = y41p_encode_init, .encode2 = y41p_encode_frame, - .close = y41p_encode_close, .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV411P, AV_PIX_FMT_NONE }, }; From patchwork Sat Aug 29 17:56:26 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 21996 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 9F58A44AD75 for ; Sat, 29 Aug 2020 20:57:22 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 862BB68AE9A; Sat, 29 Aug 2020 20:57:22 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr1-f68.google.com (mail-wr1-f68.google.com [209.85.221.68]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5329068A5CC for ; Sat, 29 Aug 2020 20:57:17 +0300 (EEST) Received: by mail-wr1-f68.google.com with SMTP id a17so1249622wrn.6 for ; Sat, 29 Aug 2020 10:57: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=4c75kqXHpZmJEjHSC4YKPjc3vmCESdyaiyzQiooytsQ=; b=oG7zA7uee4LLnjEqfhVl0QEZAD1x6dZlk19SBjBFb13XFz+va4YM+8WRkMLEvwLxcS zUkZEC77HlP2pEEO6ewWtSP4tyTiNRnB3xaYZobXCzxW7/+9WPDpgK8AS2GSnCvAET4t 2z9yH1eDpMp2dM9AytbbOPA3WSbTHMhlxepLrVXrhra9Deo9DAKVk11OeK6F6SXnRUfN WabDKlKZwG9AJwlk4Xq5nZT5EMCQLdJn7A4nwjAlUZRGanY8bC1soT9ZenNG/PktvVT8 eTU/OCozfOdGNgdG/T32OZklV+IYYoLJ2w+wr78xfpgVaxpJAYgZmiyQo0hC/CTmt27r 9hjA== 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=4c75kqXHpZmJEjHSC4YKPjc3vmCESdyaiyzQiooytsQ=; b=AisBlLUK8Q+uRiAR1rd4We7YrRxE05eu/TfmeoQGI8o63GNlF07kyicp5anMcH/2RE RDMcguF7t5m3A+pUfdoOTCJOn0pHuBSqMmaLZADuycxdBmLwnSms5JRMjIlTm3hJgOZT dYz5OsUNR9NyMHrSFMJd6MhhgWlvZQV9oGU4bd+WnQCDwci9lBucjpuhFmyRPgEJCvQy tRrOzODC7+m9pRSIqcfQlwmKlvu3IZNgpJt1mlvpaHMiqr1330iTi7SJ4Km3qXSn8iVZ 0OJhBHcG4driPdzNAI4eFLQgOpt+dcf1FxQWG68IntFD8DM/pQGBaDRUrmO65/0xa0YJ N6lA== X-Gm-Message-State: AOAM532daHx7GPV43l65jT9VSL4LxHkC2b4sDu6czz5+M82/38UFiiDO S9+ZIitBvtkdohDMjdp8JnMORFE5IeA= X-Google-Smtp-Source: ABdhPJx2PqWOg7utBMuq1IlQctGT0iS0opQC69+rw296icVn0Gh+UaEFcvFFf5QYPgpmTwkEmif5VQ== X-Received: by 2002:a5d:48c3:: with SMTP id p3mr4133693wrs.69.1598723836453; Sat, 29 Aug 2020 10:57:16 -0700 (PDT) Received: from sblaptop.fritz.box (ipbcc1fb0f.dynamic.kabel-deutschland.de. [188.193.251.15]) by smtp.gmail.com with ESMTPSA id z8sm4016734wmf.10.2020.08.29.10.57.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 Aug 2020 10:57:15 -0700 (PDT) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 29 Aug 2020 19:56:26 +0200 Message-Id: <20200829175626.11682-13-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200829175626.11682-1-andreas.rheinhardt@gmail.com> References: <20200829175626.11682-1-andreas.rheinhardt@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 13/13] avcodec/truemotion1: Cleanup generically after init failure 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 --- libavcodec/truemotion1.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/libavcodec/truemotion1.c b/libavcodec/truemotion1.c index b6481cbd7c..94782fef4b 100644 --- a/libavcodec/truemotion1.c +++ b/libavcodec/truemotion1.c @@ -491,10 +491,8 @@ static av_cold int truemotion1_decode_init(AVCodecContext *avctx) /* there is a vertical predictor for each pixel in a line; each vertical * predictor is 0 to start with */ av_fast_malloc(&s->vert_pred, &s->vert_pred_size, s->avctx->width * sizeof(unsigned int)); - if (!s->vert_pred) { - av_frame_free(&s->frame); + if (!s->vert_pred) return AVERROR(ENOMEM); - } return 0; } @@ -922,4 +920,5 @@ AVCodec ff_truemotion1_decoder = { .close = truemotion1_decode_end, .decode = truemotion1_decode_frame, .capabilities = AV_CODEC_CAP_DR1, + .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, };