From patchwork Tue Jun 2 15:26:35 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 20104 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 9040544AF78 for ; Tue, 2 Jun 2020 18:27:56 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 66EC368B06D; Tue, 2 Jun 2020 18:27:56 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pl1-f195.google.com (mail-pl1-f195.google.com [209.85.214.195]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8D09068AA92 for ; Tue, 2 Jun 2020 18:27:49 +0300 (EEST) Received: by mail-pl1-f195.google.com with SMTP id v24so1475370plo.6 for ; Tue, 02 Jun 2020 08:27:49 -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; bh=W8JLzhFiag+WW0iOLySjTERJ7HTiw72Kg4S4T9s/S+Y=; b=RwuvoVpoCM0ul7QwgE/v4QA+QqljMWF4AzurNDDOElNuxHGj3WIjgh8wE7/VQ5O0tO HY4/PbdwNUzCzsv/VQopZG6npts1QUM2JFFn7ZuAVKDg6u1t2XkB5fA3/nJkrSxuc/zM HtkCCA87Ujd/dvqWWmTI9XhJUmmwdp3I4LGcokhY+v0gLuYk+cBJDx49BA9f3u5HiKdi 5hdZPBPfcIb+3gLyoJOV//8hiS/nMw/IjKCIBmx0xgOFiT1640bCzYsappZaDWDIfUSK NZSywizYlsmSvDaAwQsyQ5xqxzdrr5VPqS0Umfj+gPA/2Iol3fUYuN2SAZkFS3I0dQtK Ul2Q== 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; bh=W8JLzhFiag+WW0iOLySjTERJ7HTiw72Kg4S4T9s/S+Y=; b=t5YZO7zmRtA79tEtYoLoCANtwMYNDiCE6Vt56c+6k/TrJEHmPHlLR9IeLyUZ2Qq45e FD4ukL2+yukPUom1fORFZmUlev1FyKeYfEpvIVZ2TcpCv4TEg6CXSsXw7wLjNABjAmMV RVpDDXyk7QROLsZ7jxiVfU1wd/RqOwRIErr5URX2h0RqixjBgyvroaLGHIfOmUTY1h1o VDyVpwzsj/6nwKYrnH+kBX3mtdl6gfKOLypKkKEC5QER2epXavexOAYc8obnhqnhKVaK y71l9CIHMMjirpeLn02dWM3BThuiLaZ7pyFZacRdpicu99n7LtemIiNPKG7AoHQOgVqv JPdQ== X-Gm-Message-State: AOAM533QTqda+EHCI6VwJwmilpSTrA8utpulXB/VmCrAkhHhsyU8w0eL uJ+Z+N35N9/EdUjBnzCBLiDeC+2w X-Google-Smtp-Source: ABdhPJxqFMIM8BWohKCTeTdLplO3Boy5IozDYe8ngHrj8CTO4rj9RBVBBvxxZTIYUlmd9lwv+5cuWw== X-Received: by 2002:a17:90a:6546:: with SMTP id f6mr6111187pjs.55.1591111667176; Tue, 02 Jun 2020 08:27:47 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id j7sm2626736pfh.154.2020.06.02.08.27.45 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jun 2020 08:27:46 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 2 Jun 2020 23:26:35 +0800 Message-Id: <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1590674250-32571-1-git-send-email-lance.lmwang@gmail.com> References: <1590674250-32571-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v4 01/24] avcodec/h264dec: cosmetics 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: Limin Wang MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Limin Wang Signed-off-by: Limin Wang --- libavcodec/h264dec.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/libavcodec/h264dec.c b/libavcodec/h264dec.c index 6270ea8..4d8c0b1 100644 --- a/libavcodec/h264dec.c +++ b/libavcodec/h264dec.c @@ -253,8 +253,7 @@ int ff_h264_slice_context_init(H264Context *h, H264SliceContext *sl) if (sl != h->slice_ctx) { memset(er, 0, sizeof(*er)); - } else - if (CONFIG_ERROR_RESILIENCE) { + } else if (CONFIG_ERROR_RESILIENCE) { /* init ER */ er->avctx = h->avctx; From patchwork Tue Jun 2 15:26:36 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 20105 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 6D5D344AF78 for ; Tue, 2 Jun 2020 18:28:00 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5267168B0A4; Tue, 2 Jun 2020 18:28:00 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf1-f195.google.com (mail-pf1-f195.google.com [209.85.210.195]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 0B02168B0A1 for ; Tue, 2 Jun 2020 18:27:54 +0300 (EEST) Received: by mail-pf1-f195.google.com with SMTP id b16so445037pfi.13 for ; Tue, 02 Jun 2020 08:27:53 -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; bh=j3GDf3w+QxSCqxGL2TJ07Uzy8lkB1XHDONrpgEEir1A=; b=nUCkDLtCfaWym+vxEqXoObq77DWz6oUPjmnnwfMdpsq8ZRhdtYGjHY/DooEELgMzs9 6TcZcr6WYHKnyyhjZOwjjRRbtE8SXLXmdcQl9HeT7OY2C9pwakwHyrJunmV5SHswvIqj dHyBGsYBJSWSyZq/R8lR9kJHdrXz1RKvQxmv+dKIffNX49Gax8pkbe+WBYMpsj9Ybdoh xcQuGD09d5Ai2S2phsyEi62h3L2+XwuahJ/9+nf4G8Q1bYPxM7MNhiZcM/MOnqViLN1B kjkWiXfM2e2mcVyfSBI32TPKtIq1Dbu4vkWsntVmZmoPKlYZrB6Mi+fN2x9ISwWjrhuf IWYA== 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; bh=j3GDf3w+QxSCqxGL2TJ07Uzy8lkB1XHDONrpgEEir1A=; b=ldANxtpB/w6uGvIk5SDdYoP4chIvKqZG3+WqLUq0m+H/uRLZoygbKgbBOwsY7ID4N4 P2Exvh8fHyFgWFu3EeSqnXQ6Dis3NHqER+VtoypV8SDL2LSKEJ1OIRORQJ+AHmT+XAcF j0wGK7NttvuFhkgcacYRLf6vbjMkWJt9TH479jd8rQurNarFAG/Nx9QML1Kve1CoxhUJ 1Hrpi7CuA4JcjXPdlTVhwYiN+PExdrnoQw05oCjFjzd/qCBaq1YpXvdIIIsokKeDulF3 OHiJunWN/Rx9NeMTaVwniK9qhOILmCvrNiJkRLR+w5xYWsX7CBRnDE+MbtUvpQInB0Js W5Ww== X-Gm-Message-State: AOAM530MxO53KnwHRpsCc7sTx3PnB8msm9ea+6YimCVL3Cg8uCLAPoJB IzWCeiJji6EIBOwIyicttyp4H7IH X-Google-Smtp-Source: ABdhPJw52Xe46Tqs4E5bvOwRpv3lzQ9eK4RtfRDKMeSq4ia9V38X6fFMoEmJWFXJLkBVAk5qULo+Nw== X-Received: by 2002:a62:7707:: with SMTP id s7mr26653266pfc.90.1591111672028; Tue, 02 Jun 2020 08:27:52 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id j7sm2626736pfh.154.2020.06.02.08.27.50 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jun 2020 08:27:51 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 2 Jun 2020 23:26:36 +0800 Message-Id: <1591111618-15778-2-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> References: <1590674250-32571-1-git-send-email-lance.lmwang@gmail.com> <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v4 02/24] avcodec/h264dec: store count of the tables into const variable for long lines 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: Limin Wang MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Limin Wang Signed-off-by: Limin Wang --- libavcodec/h264dec.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/libavcodec/h264dec.c b/libavcodec/h264dec.c index 4d8c0b1..66f45e6 100644 --- a/libavcodec/h264dec.c +++ b/libavcodec/h264dec.c @@ -182,6 +182,7 @@ int ff_h264_alloc_tables(H264Context *h) { const int big_mb_num = h->mb_stride * (h->mb_height + 1); const int row_mb_num = 2*h->mb_stride*FFMAX(h->nb_slice_ctx, 1); + const int st_size = big_mb_num + h->mb_stride; int x, y; FF_ALLOCZ_ARRAY_OR_GOTO(h->avctx, h->intra4x4_pred_mode, @@ -191,7 +192,7 @@ int ff_h264_alloc_tables(H264Context *h) FF_ALLOCZ_OR_GOTO(h->avctx, h->non_zero_count, big_mb_num * 48 * sizeof(uint8_t), fail) FF_ALLOCZ_OR_GOTO(h->avctx, h->slice_table_base, - (big_mb_num + h->mb_stride) * sizeof(*h->slice_table_base), fail) + st_size * sizeof(*h->slice_table_base), fail) FF_ALLOCZ_OR_GOTO(h->avctx, h->cbp_table, big_mb_num * sizeof(uint16_t), fail) FF_ALLOCZ_OR_GOTO(h->avctx, h->chroma_pred_mode_table, @@ -209,7 +210,7 @@ int ff_h264_alloc_tables(H264Context *h) big_mb_num * sizeof(uint8_t), fail) memset(h->slice_table_base, -1, - (big_mb_num + h->mb_stride) * sizeof(*h->slice_table_base)); + st_size * sizeof(*h->slice_table_base)); h->slice_table = h->slice_table_base + h->mb_stride * 2 + 1; FF_ALLOCZ_OR_GOTO(h->avctx, h->mb2b_xy, @@ -254,6 +255,7 @@ int ff_h264_slice_context_init(H264Context *h, H264SliceContext *sl) if (sl != h->slice_ctx) { memset(er, 0, sizeof(*er)); } else if (CONFIG_ERROR_RESILIENCE) { + const int er_size = h->mb_height * h->mb_stride * (4*sizeof(int) + 1); /* init ER */ er->avctx = h->avctx; @@ -282,7 +284,7 @@ int ff_h264_slice_context_init(H264Context *h, H264SliceContext *sl) mb_array_size * sizeof(uint8_t), fail); FF_ALLOC_OR_GOTO(h->avctx, er->er_temp_buffer, - h->mb_height * h->mb_stride * (4*sizeof(int) + 1), fail); + er_size * sizeof(uint8_t), fail); FF_ALLOCZ_OR_GOTO(h->avctx, sl->dc_val_base, yc_size * sizeof(int16_t), fail); From patchwork Tue Jun 2 15:26:37 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 20106 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 5691B440124 for ; Tue, 2 Jun 2020 18:28:06 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 3E69F68B0D5; Tue, 2 Jun 2020 18:28:06 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f67.google.com (mail-pj1-f67.google.com [209.85.216.67]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8B9BE68AFEB for ; Tue, 2 Jun 2020 18:27:59 +0300 (EEST) Received: by mail-pj1-f67.google.com with SMTP id m2so1625550pjv.2 for ; Tue, 02 Jun 2020 08:27:59 -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; bh=wc9QRBP1XEZe86IXqE36NJBhfonBz8cB+omONpoDqxI=; b=Zfb/RkkI7qhyWwQtsaNgnzjGIga1xfUdOJmQuOkKm+aBYcXPPMvgCr8GWC037du8g/ OGuA8Nb8xgpVQh5s7LwZBF4zYoVjEL52XpLJjHJVY1Xyq9p1B+m809XElfcXKJWlM4kj t/GQ9hLzlYDZeuLOiLTA0QJ3rqx1+5mWFwJ+IWPIFQpo6LKdt6q0N22HxjBQxqG0j+tp 3a98Xx1T9CSmxPk9gZblWFHYuYnwJ/XU7gJuCkULrYpidWaxAEdT8fjH0h2b4YF7wNWx rcS2bwWIMcEN6xK3SjVvjJXAAe4aTNLTQWuHKucEtT/QqHciEtbKhHLq7BhyT6TVnebf WzEg== 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; bh=wc9QRBP1XEZe86IXqE36NJBhfonBz8cB+omONpoDqxI=; b=Txq86g4yMI1ZYZ3H5i4eKcR337sdbQdlGrHhknvfbaHT6k4SFlkW69xevqdemPCnio zB/JNhHQUBWqgm6Hh5HxvqNc1k8FegGbYUjWGsWOkCUwGxLjQ5Gjx0xi/caWC5mMWLWs i1vEe1bdbNHtK3Fi9HDyuHW6mL74XoS9/dd3NEMGHjbfZLNSPwvyPkovWnVu7KupY51A qxxOOGuPS2T1UMlC91ziOH6waXq/xvoiUjcuxgcHj/tve6egdsdU9D5qvX7OojYR1uSZ xW2TksqVMqxm+ovWDP5pxiCk5BceaPjJVWZmuYy9buPpGQEJvRsgk0G8sDfQy9JpvUgy xwCg== X-Gm-Message-State: AOAM530WGjve9EUQKGtmfpKY6ayHMQg3O4EDwPsI14IAQWILsD+mEpsx g4mQNfO2Ida6EDYSbaRJMBO0pA7n X-Google-Smtp-Source: ABdhPJyYXrEtFMZPbDTTmNcafxPbrzhasfK/Vh12+5zvWymi/g4WGHk1gGs/Lkk02tgpgUkx1+g+pA== X-Received: by 2002:a17:90a:e42:: with SMTP id p2mr6313893pja.53.1591111677641; Tue, 02 Jun 2020 08:27:57 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id j7sm2626736pfh.154.2020.06.02.08.27.56 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jun 2020 08:27:57 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 2 Jun 2020 23:26:37 +0800 Message-Id: <1591111618-15778-3-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> References: <1590674250-32571-1-git-send-email-lance.lmwang@gmail.com> <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v4 03/24] avcodec/h264dec: remove FF_ALLOCZ_ARRAY_OR_GOTO and gotos lable 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: Limin Wang MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Limin Wang Signed-off-by: Limin Wang --- libavcodec/h264dec.c | 60 +++++++++++++++------------------------------------- libavutil/internal.h | 3 +++ 2 files changed, 20 insertions(+), 43 deletions(-) diff --git a/libavcodec/h264dec.c b/libavcodec/h264dec.c index 66f45e6..dc3d6ad 100644 --- a/libavcodec/h264dec.c +++ b/libavcodec/h264dec.c @@ -185,38 +185,24 @@ int ff_h264_alloc_tables(H264Context *h) const int st_size = big_mb_num + h->mb_stride; int x, y; - FF_ALLOCZ_ARRAY_OR_GOTO(h->avctx, h->intra4x4_pred_mode, - row_mb_num, 8 * sizeof(uint8_t), fail) + if (!FF_ALLOCZ_TYPED_ARRAY(h->intra4x4_pred_mode, row_mb_num * 8) || + !FF_ALLOCZ_TYPED_ARRAY(h->non_zero_count, big_mb_num * 48) || + !FF_ALLOCZ_TYPED_ARRAY(h->slice_table_base, st_size) || + !FF_ALLOCZ_TYPED_ARRAY(h->cbp_table, big_mb_num) || + !FF_ALLOCZ_TYPED_ARRAY(h->chroma_pred_mode_table, big_mb_num) || + !FF_ALLOCZ_TYPED_ARRAY(h->mvd_table[0], row_mb_num * 16) || + !FF_ALLOCZ_TYPED_ARRAY(h->mvd_table[1], row_mb_num * 16) || + !FF_ALLOCZ_TYPED_ARRAY(h->direct_table, big_mb_num * 4) || + !FF_ALLOCZ_TYPED_ARRAY(h->list_counts, big_mb_num) || + !FF_ALLOCZ_TYPED_ARRAY(h->mb2b_xy, big_mb_num) || + !FF_ALLOCZ_TYPED_ARRAY(h->mb2br_xy, big_mb_num)) + return AVERROR(ENOMEM); h->slice_ctx[0].intra4x4_pred_mode = h->intra4x4_pred_mode; - - FF_ALLOCZ_OR_GOTO(h->avctx, h->non_zero_count, - big_mb_num * 48 * sizeof(uint8_t), fail) - FF_ALLOCZ_OR_GOTO(h->avctx, h->slice_table_base, - st_size * sizeof(*h->slice_table_base), fail) - FF_ALLOCZ_OR_GOTO(h->avctx, h->cbp_table, - big_mb_num * sizeof(uint16_t), fail) - FF_ALLOCZ_OR_GOTO(h->avctx, h->chroma_pred_mode_table, - big_mb_num * sizeof(uint8_t), fail) - FF_ALLOCZ_ARRAY_OR_GOTO(h->avctx, h->mvd_table[0], - row_mb_num, 16 * sizeof(uint8_t), fail); - FF_ALLOCZ_ARRAY_OR_GOTO(h->avctx, h->mvd_table[1], - row_mb_num, 16 * sizeof(uint8_t), fail); h->slice_ctx[0].mvd_table[0] = h->mvd_table[0]; h->slice_ctx[0].mvd_table[1] = h->mvd_table[1]; - - FF_ALLOCZ_OR_GOTO(h->avctx, h->direct_table, - 4 * big_mb_num * sizeof(uint8_t), fail); - FF_ALLOCZ_OR_GOTO(h->avctx, h->list_counts, - big_mb_num * sizeof(uint8_t), fail) - memset(h->slice_table_base, -1, st_size * sizeof(*h->slice_table_base)); h->slice_table = h->slice_table_base + h->mb_stride * 2 + 1; - - FF_ALLOCZ_OR_GOTO(h->avctx, h->mb2b_xy, - big_mb_num * sizeof(uint32_t), fail); - FF_ALLOCZ_OR_GOTO(h->avctx, h->mb2br_xy, - big_mb_num * sizeof(uint32_t), fail); for (y = 0; y < h->mb_height; y++) for (x = 0; x < h->mb_width; x++) { const int mb_xy = x + y * h->mb_stride; @@ -227,9 +213,6 @@ int ff_h264_alloc_tables(H264Context *h) } return 0; - -fail: - return AVERROR(ENOMEM); } /** @@ -270,8 +253,11 @@ int ff_h264_slice_context_init(H264Context *h, H264SliceContext *sl) er->b8_stride = h->mb_width * 2 + 1; // error resilience code looks cleaner with this - FF_ALLOCZ_OR_GOTO(h->avctx, er->mb_index2xy, - (h->mb_num + 1) * sizeof(int), fail); + if (!FF_ALLOCZ_TYPED_ARRAY(er->mb_index2xy, h->mb_num + 1) || + !FF_ALLOCZ_TYPED_ARRAY(er->error_status_table, mb_array_size) || + !FF_ALLOCZ_TYPED_ARRAY(er->er_temp_buffer, er_size) || + !FF_ALLOCZ_TYPED_ARRAY(sl->dc_val_base, yc_size)) + return AVERROR(ENOMEM); // ff_h264_free_tables will clean up for us for (y = 0; y < h->mb_height; y++) for (x = 0; x < h->mb_width; x++) @@ -279,15 +265,6 @@ int ff_h264_slice_context_init(H264Context *h, H264SliceContext *sl) er->mb_index2xy[h->mb_height * h->mb_width] = (h->mb_height - 1) * h->mb_stride + h->mb_width; - - FF_ALLOCZ_OR_GOTO(h->avctx, er->error_status_table, - mb_array_size * sizeof(uint8_t), fail); - - FF_ALLOC_OR_GOTO(h->avctx, er->er_temp_buffer, - er_size * sizeof(uint8_t), fail); - - FF_ALLOCZ_OR_GOTO(h->avctx, sl->dc_val_base, - yc_size * sizeof(int16_t), fail); er->dc_val[0] = sl->dc_val_base + h->mb_width * 2 + 2; er->dc_val[1] = sl->dc_val_base + y_size + h->mb_stride + 1; er->dc_val[2] = er->dc_val[1] + c_size; @@ -296,9 +273,6 @@ int ff_h264_slice_context_init(H264Context *h, H264SliceContext *sl) } return 0; - -fail: - return AVERROR(ENOMEM); // ff_h264_free_tables will clean up for us } static int h264_init_context(AVCodecContext *avctx, H264Context *h) diff --git a/libavutil/internal.h b/libavutil/internal.h index 4acbcf5..00f1a57 100644 --- a/libavutil/internal.h +++ b/libavutil/internal.h @@ -137,6 +137,9 @@ # define LOCAL_ALIGNED_32(t, v, ...) E1(LOCAL_ALIGNED_A(32, t, v, __VA_ARGS__,,)) #endif +#define FF_ALLOC_TYPED_ARRAY(p, nelem) (p = av_malloc_array(nelem, sizeof(*p))) +#define FF_ALLOCZ_TYPED_ARRAY(p, nelem) (p = av_mallocz_array(nelem, sizeof(*p))) + #define FF_ALLOC_OR_GOTO(ctx, p, size, label)\ {\ p = av_malloc(size);\ From patchwork Tue Jun 2 15:26:38 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 20107 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 55714443D90 for ; Tue, 2 Jun 2020 18:28:11 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 3E74E68B0F2; Tue, 2 Jun 2020 18:28:11 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pg1-f194.google.com (mail-pg1-f194.google.com [209.85.215.194]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 175BC68B0F1 for ; Tue, 2 Jun 2020 18:28:05 +0300 (EEST) Received: by mail-pg1-f194.google.com with SMTP id m1so5238362pgk.1 for ; Tue, 02 Jun 2020 08:28: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; bh=BmQrfoaGpbujzxgz25fzlf7o4rduA42VJw3UJK0HCu4=; b=EsNshaBIDb2LMIIXHoacV1iWsStl4gd+8eO2JjDX8YYkAbWe1ttM5MU1chXHxNsnKj +AgsSSP1Z4jSWEXNDBKpc49B3zmvDACVFdw/iRp9l2Sik2WXYkgJUbPIIsK3aQnFs/2A 835Oa85/gOGLMD/HcrvOxSvaVmdl0TcId99BOwtFwzZ8LgB+w46RD3zUNCbr6xk2Uf7A Pab0qCLHYRYBhovxiwLO39OX1t+MIDA2S/bQu+Csn18XPzTzSoVwBH1o1W1r9GUc2AFi XpDCLG541PMSpDWRJvRfB/I4BstkBLbXdfR/O6jXIq99Z5pjVuA6jMFrOFhL/HR7RzFu 1LOw== 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; bh=BmQrfoaGpbujzxgz25fzlf7o4rduA42VJw3UJK0HCu4=; b=ubKL60D9v6i2+cR4jWQWebUGUBjuwAq2kj7zc4C72aFgvliFwTv8HDeuY0ScFhHASv 50W8tTUEPAUh/6wyqaWkMP1NZSUW48IpL0jtEeCYaoXdXnpbGC3PrY/80C0oG7uygOFV EznSCYVCLa4RtPyCAOLNII7ycNOvXYH0hh/LAYu/Ozv7Z8UsMS3pM00a+svBCnvkerp7 J1HVKu3GnPXAmdepOIPW+QytYoLYRHPtRGvRJGZZPL71w4qFycsDPdS55Epu3TFqrPIQ zJcsoJAOO0NLom3NESOLEI7vx8YnhwAS4K90nQ0WuATdsavVpDB2AS1eiDHOdKomBNDk sH+A== X-Gm-Message-State: AOAM53043OV7e0QQBd/75XRXsZ65PGgOD2b0R0iMyJ+j1DavANZjRoPM MVrMit7cfKnxlkbpOXkdwcAMlE9Y X-Google-Smtp-Source: ABdhPJzG7u6+OCBY0mqiUDfNwuA80fm4WolIW3hlRCvZWgjKz/JFsiBMg4L0qgt/kc8pwmcoB5BSkQ== X-Received: by 2002:aa7:83c9:: with SMTP id j9mr25823875pfn.180.1591111683045; Tue, 02 Jun 2020 08:28:03 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id j7sm2626736pfh.154.2020.06.02.08.28.01 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jun 2020 08:28:02 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 2 Jun 2020 23:26:38 +0800 Message-Id: <1591111618-15778-4-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> References: <1590674250-32571-1-git-send-email-lance.lmwang@gmail.com> <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v4 04/24] avcodec/adpcmenc: remove FF_ALLOC_OR_GOTO macros for gotos lable 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: Limin Wang MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Limin Wang Signed-off-by: Limin Wang --- libavcodec/adpcmenc.c | 38 ++++++++++++++++---------------------- 1 file changed, 16 insertions(+), 22 deletions(-) diff --git a/libavcodec/adpcmenc.c b/libavcodec/adpcmenc.c index d5fbc0b..1fe1aef 100644 --- a/libavcodec/adpcmenc.c +++ b/libavcodec/adpcmenc.c @@ -65,7 +65,6 @@ static av_cold int adpcm_encode_init(AVCodecContext *avctx) ADPCMEncodeContext *s = avctx->priv_data; uint8_t *extradata; int i; - int ret = AVERROR(ENOMEM); if (avctx->channels > 2) { av_log(avctx, AV_LOG_ERROR, "only stereo or mono is supported\n"); @@ -89,14 +88,11 @@ static av_cold int adpcm_encode_init(AVCodecContext *avctx) if (avctx->trellis) { int frontier = 1 << avctx->trellis; int max_paths = frontier * FREEZE_INTERVAL; - FF_ALLOC_OR_GOTO(avctx, s->paths, - max_paths * sizeof(*s->paths), error); - FF_ALLOC_OR_GOTO(avctx, s->node_buf, - 2 * frontier * sizeof(*s->node_buf), error); - FF_ALLOC_OR_GOTO(avctx, s->nodep_buf, - 2 * frontier * sizeof(*s->nodep_buf), error); - FF_ALLOC_OR_GOTO(avctx, s->trellis_hash, - 65536 * sizeof(*s->trellis_hash), error); + if (!FF_ALLOC_TYPED_ARRAY(s->paths, max_paths) || + !FF_ALLOC_TYPED_ARRAY(s->node_buf, 2 * frontier) || + !FF_ALLOC_TYPED_ARRAY(s->nodep_buf, 2 * frontier) || + !FF_ALLOC_TYPED_ARRAY(s->trellis_hash, 65536)) + return AVERROR(ENOMEM); } avctx->bits_per_coded_sample = av_get_bits_per_sample(avctx->codec->id); @@ -123,7 +119,7 @@ static av_cold int adpcm_encode_init(AVCodecContext *avctx) avctx->bits_per_coded_sample = 4; avctx->block_align = BLKSIZE; if (!(avctx->extradata = av_malloc(32 + AV_INPUT_BUFFER_PADDING_SIZE))) - goto error; + return AVERROR(ENOMEM); avctx->extradata_size = 32; extradata = avctx->extradata; bytestream_put_le16(&extradata, avctx->frame_size); @@ -143,8 +139,7 @@ static av_cold int adpcm_encode_init(AVCodecContext *avctx) avctx->sample_rate != 44100) { av_log(avctx, AV_LOG_ERROR, "Sample rate must be 11025, " "22050 or 44100\n"); - ret = AVERROR(EINVAL); - goto error; + return AVERROR(EINVAL); } avctx->frame_size = 512 * (avctx->sample_rate / 11025); break; @@ -153,13 +148,10 @@ static av_cold int adpcm_encode_init(AVCodecContext *avctx) avctx->block_align = BLKSIZE; break; default: - ret = AVERROR(EINVAL); - goto error; + return AVERROR(EINVAL); } return 0; -error: - return ret; } static av_cold int adpcm_encode_close(AVCodecContext *avctx) @@ -523,7 +515,8 @@ static int adpcm_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, /* stereo: 4 bytes (8 samples) for left, 4 bytes for right */ if (avctx->trellis > 0) { - FF_ALLOC_ARRAY_OR_GOTO(avctx, buf, avctx->channels, blocks * 8, error); + if (!FF_ALLOC_TYPED_ARRAY(buf, avctx->channels * blocks * 8)) + return AVERROR(ENOMEM); for (ch = 0; ch < avctx->channels; ch++) { adpcm_compress_trellis(avctx, &samples_p[ch][1], buf + ch * blocks * 8, &c->status[ch], @@ -618,7 +611,8 @@ static int adpcm_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, } if (avctx->trellis > 0) { - FF_ALLOC_OR_GOTO(avctx, buf, 2 * n, error); + if (!(buf = av_malloc(2 * n))) + return AVERROR(ENOMEM); adpcm_compress_trellis(avctx, samples + avctx->channels, buf, &c->status[0], n, avctx->channels); if (avctx->channels == 2) @@ -666,7 +660,8 @@ static int adpcm_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, if (avctx->trellis > 0) { n = avctx->block_align - 7 * avctx->channels; - FF_ALLOC_OR_GOTO(avctx, buf, 2 * n, error); + if (!(buf = av_malloc(2 * n))) + return AVERROR(ENOMEM); if (avctx->channels == 1) { adpcm_compress_trellis(avctx, samples, buf, &c->status[0], n, avctx->channels); @@ -693,7 +688,8 @@ static int adpcm_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, case AV_CODEC_ID_ADPCM_YAMAHA: n = frame->nb_samples / 2; if (avctx->trellis > 0) { - FF_ALLOC_OR_GOTO(avctx, buf, 2 * n * 2, error); + if (!(buf = av_malloc(2 * n * 2))) + return AVERROR(ENOMEM); n *= 2; if (avctx->channels == 1) { adpcm_compress_trellis(avctx, samples, buf, &c->status[0], n, @@ -724,8 +720,6 @@ static int adpcm_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, avpkt->size = pkt_size; *got_packet_ptr = 1; return 0; -error: - return AVERROR(ENOMEM); } static const enum AVSampleFormat sample_fmts[] = { From patchwork Tue Jun 2 15:26:39 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 20108 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 37AFC449383 for ; Tue, 2 Jun 2020 18:28:16 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 24C7E68B100; Tue, 2 Jun 2020 18:28:16 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pg1-f194.google.com (mail-pg1-f194.google.com [209.85.215.194]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A144A68B0B6 for ; Tue, 2 Jun 2020 18:28:09 +0300 (EEST) Received: by mail-pg1-f194.google.com with SMTP id e9so4049088pgo.9 for ; Tue, 02 Jun 2020 08:28: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; bh=rqPdaML/TSmyLweDjdJ4kBpiKnj+Fguh1kq6IJswmoI=; b=dniWpbTo8OfFv3kettdEUmNDOpr5TV3rLJsoQYNWGVwit5EkfJ9FMzXGrMObv0d/rG /lmh8irnW1Hk93jHhYJ/SHK6RE/7gSgbTEgwS0AfOTmSUV1YDv2nJx9C0LzG4p559Ecd OD+CXNzWGX0F82/CsMR0z053AQXRyIvNH0/vjvthY5IM8Mk+4dOsqrJiSG8+pMscZhLw Gjmvwy0Foos5l6OsN27wfQUL1lJAgX2Qh2MjIm+Bqy0Aq6NBtFiIEkh7JMLKM909uIo3 Jsqmk4rbv85YVOH+USGDBOJNvoOuoFzN1O+i2Qx8UW9ngQ6COthy0ASo7z+PbpLyxEby QGyg== 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; bh=rqPdaML/TSmyLweDjdJ4kBpiKnj+Fguh1kq6IJswmoI=; b=pHZuVTipsnQ6dxrfM9eFC3dQfxLeCdN2jHFQt+l5LqtSOwRsEQC8uyo0KmKCuypW// 0n7utGTVPZX2vuC7h8Dd46igoQRn2ZGzCK11GPiCBaaEB8qqy4qnhJPeakmAwDj9CFYE OvQpqmI3khpFUH7S0W1cfGShyCSH9lOadxfk+qdTkqK/wCCx1nCaFlEmkvJWgaVotHWr dPa3htsV1LVsyOcrTAvdaNUbisomYp/jQHRQjg8SVq22hiWzcJ7dQBcqfo8RKiRd2T7+ cLR50Y6MGQg2kXuAqocTmML4CN7HkXhfkT/sM2w+p75DTJlbe4usPpKC5PosGQGb2dMf oYgw== X-Gm-Message-State: AOAM533sKM2gKGGFfUaFzPKHxU84HIvIcicLfUtDLC+1soB0v9qNC/Ze JzwEu3VqB6QU6Ke23QmhGfLdlb9M X-Google-Smtp-Source: ABdhPJyxG2PtQPkpLNHfyM81INQbtBc2s91FNASpSjKFmPMbl2NDQc6+UCGtoxPktJmCpn0G+hddgg== X-Received: by 2002:a62:342:: with SMTP id 63mr25385734pfd.229.1591111687893; Tue, 02 Jun 2020 08:28:07 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id j7sm2626736pfh.154.2020.06.02.08.28.06 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jun 2020 08:28:07 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 2 Jun 2020 23:26:39 +0800 Message-Id: <1591111618-15778-5-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> References: <1590674250-32571-1-git-send-email-lance.lmwang@gmail.com> <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v4 05/24] avcodec/apedec: add FF_CODEC_CAP_INIT_CLEANUP 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: Limin Wang MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Limin Wang Signed-off-by: Limin Wang --- libavcodec/apedec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/apedec.c b/libavcodec/apedec.c index 65c07d0..0bee9d8 100644 --- a/libavcodec/apedec.c +++ b/libavcodec/apedec.c @@ -301,7 +301,6 @@ static av_cold int ape_decode_init(AVCodecContext *avctx) return 0; filter_alloc_fail: - ape_decode_close(avctx); return AVERROR(ENOMEM); } @@ -1638,6 +1637,7 @@ AVCodec ff_ape_decoder = { .decode = ape_decode_frame, .capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DELAY | AV_CODEC_CAP_DR1, + .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, .flush = ape_flush, .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_U8P, AV_SAMPLE_FMT_S16P, From patchwork Tue Jun 2 15:26:40 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 20110 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 D1640449383 for ; Tue, 2 Jun 2020 18:28:20 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id BB93468B14F; Tue, 2 Jun 2020 18:28:20 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pl1-f181.google.com (mail-pl1-f181.google.com [209.85.214.181]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6DC0668B119 for ; Tue, 2 Jun 2020 18:28:13 +0300 (EEST) Received: by mail-pl1-f181.google.com with SMTP id m7so1480617plt.5 for ; Tue, 02 Jun 2020 08:28: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; bh=fZYZpz8TtuLTPYs8PknnabXoMvS0izYWL9uoSpWn00A=; b=B/MDYYxw5KnEBoqVTx916TXFngKlzLqO+ZO/p0PyH2K/rEJj9CvYx8PrS4Y4uE+ryZ o8h6jPlZiCJ9ruhqWeVzhegBnkXX2ckJFqzKW04+GIbCIr2uxq1hVycOpmClNnJXjjGy NvRAn6IqaRK+SuTs3vWOzbJO8gHSbnjUhZVP+nwKKxMcAhBsFu/r0L5tBdpC265NqLwk 6jJDXByQ+W+94sCgap7kuuyiXoL+Zd/S1NwDRzQPH2XPtsYo0KX/9N5OwYKiVgF4dhl+ 7zTcZkJAcBIFVEspeyBEFi8h/YqGADhEiWTiq4diOVCCuFJdol/ASmd3YgkD8FIU6HoI elQA== 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; bh=fZYZpz8TtuLTPYs8PknnabXoMvS0izYWL9uoSpWn00A=; b=YhHRMBuPbcIFH+kXH2F7G64YEXr3+ANAT0ZSe24jUuYZBXJ8DrGFCMi/cpt1FWCkd/ pDxe889z/TdGWhvhKvogp7bOXt7cMfC0Yg/hY1yDsNtmxRgyl/gLpm0oRQ3mm+CP1GLN vu3kYL7NM6C0xVifrBXIl4acNGRO55o2oQPvVmVfOPAMX1wW6aERxtRjbGGCk4vx+N7f D1EDqeemU8AhwBNDwHPfyMRityXV7+FtznfD41BBfyqdm4wejD622xblk/rgXSGzWhkS C05b3guU7e1R8+UKniprF/Bzt/jOGQAzo7Pzd9/rE+QahVfzDe02hSo4aLkJStIs4zYz +5Og== X-Gm-Message-State: AOAM530SicdOPWOXEz4LjLKqTuGhiNyALGErZj5KPYoORhVlN+QJxvlc IhHuMgH8naAMzVWkSPXzRAuENqSp X-Google-Smtp-Source: ABdhPJwYrtXX232HITtKEELIx3uIPigUP8HR7zNl0i6DyntUbNMVzT4bKlQiS4z/7d/d9voGgPceHw== X-Received: by 2002:a17:90a:9311:: with SMTP id p17mr6254755pjo.142.1591111691437; Tue, 02 Jun 2020 08:28:11 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id j7sm2626736pfh.154.2020.06.02.08.28.09 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jun 2020 08:28:10 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 2 Jun 2020 23:26:40 +0800 Message-Id: <1591111618-15778-6-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> References: <1590674250-32571-1-git-send-email-lance.lmwang@gmail.com> <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v4 06/24] avcodec/ac3enc: add FF_CODEC_CAP_INIT_CLEANUP 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: Limin Wang MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Limin Wang Signed-off-by: Limin Wang --- libavcodec/ac3enc.c | 1 - libavcodec/ac3enc_fixed.c | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/ac3enc.c b/libavcodec/ac3enc.c index ddbc7b2..4fb2dd9 100644 --- a/libavcodec/ac3enc.c +++ b/libavcodec/ac3enc.c @@ -2490,6 +2490,5 @@ av_cold int ff_ac3_encode_init(AVCodecContext *avctx) return 0; init_fail: - ff_ac3_encode_close(avctx); return ret; } diff --git a/libavcodec/ac3enc_fixed.c b/libavcodec/ac3enc_fixed.c index e57d035..428bbfb 100644 --- a/libavcodec/ac3enc_fixed.c +++ b/libavcodec/ac3enc_fixed.c @@ -155,6 +155,7 @@ AVCodec ff_ac3_fixed_encoder = { .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16P, AV_SAMPLE_FMT_NONE }, .priv_class = &ac3enc_class, + .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, .supported_samplerates = ff_ac3_sample_rate_tab, .channel_layouts = ff_ac3_channel_layouts, .defaults = ac3_defaults, From patchwork Tue Jun 2 15:26:41 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 20109 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 01119449383 for ; Tue, 2 Jun 2020 18:28:20 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id DCFA268B133; Tue, 2 Jun 2020 18:28:19 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf1-f172.google.com (mail-pf1-f172.google.com [209.85.210.172]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2E26668B0F4 for ; Tue, 2 Jun 2020 18:28:16 +0300 (EEST) Received: by mail-pf1-f172.google.com with SMTP id 64so5190354pfg.8 for ; Tue, 02 Jun 2020 08:28:16 -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; bh=tuQBWsM6JZqdms+4HUkwZM64CQXFtNw2SY/+WUQXcoU=; b=ryFSsHw7VqJqAbK5yr+Rir51zDv/aTTFvxhyoHHBXbDaSWaw6gSYXIcxqGveGY4Ca+ bDByw5viLxxZFCGbFH4E17mhwfL7IFCAdBzNl2wXP+Br68Brrult4pflFkFtv2zksvSx UgdOhl84bg/6Ri2TQlvG9Z7hNzwLvFEqCZaqhb6+my7j5esJcJT8cQ2es2T0EbLDcHqb mEl2alQoMLTHJ02G6yLdJtTDUWv9HCwvvYzW/738Y31sR/GEqIfrZGdlz9OnMk9MMD7U 0yhRghzDcJq1nx9D6cKJnDhCpu52nPmN2FRYjYwH4h3IP/yE5rqS03hX4grACA/QNl0A Arvg== 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; bh=tuQBWsM6JZqdms+4HUkwZM64CQXFtNw2SY/+WUQXcoU=; b=LoKGXty2iIp9DKWPzndnSijIspUWFYCOccxmKgmqK5CBaEOzcAqERJofjbjJnhJ4ud kP4CxMx2N+zr+dwIEnhfCpH0261gxU6zodbRrUrvf0x5gkHiXMI88eDeh8VkgReuXXdt QRRXJGOYg0fBOligbzefnZGCAjmfMVBqjdbWefQXSOPG2kJ+hPM5koA+fUrP/s95iO+L ferefoc1uXRN9n2/2abY91pSNb0xSqAvxuXx9zC3lLNlVrrw+3MK3pyANhm89foNJuT9 TykBSv/u4p7dJCcnGtt0o/glHM+dU/1ABok9LsNt3ys7iLla/iPu1wNygDSASoPskU8P TdcQ== X-Gm-Message-State: AOAM533ePszhooSIxbGh7SDMFVBzQp661S+h5yVF4dbaTgCt4ycatZfU 7bUxLWujauqIgn+IDTYotxLndVXZ X-Google-Smtp-Source: ABdhPJxW7dDdUyTFghhzEMVkvmi2xY3frXdcO7wFttLkxp2RLMv05Df8Z3pvjtXK0Mz8yV2dHfDtjA== X-Received: by 2002:a62:bd07:: with SMTP id a7mr8814373pff.311.1591111695071; Tue, 02 Jun 2020 08:28:15 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id j7sm2626736pfh.154.2020.06.02.08.28.13 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jun 2020 08:28:14 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 2 Jun 2020 23:26:41 +0800 Message-Id: <1591111618-15778-7-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> References: <1590674250-32571-1-git-send-email-lance.lmwang@gmail.com> <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v4 07/24] avcodec/aacenc: add FF_CODEC_CAP_INIT_CLEANUP 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: Limin Wang MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Limin Wang Signed-off-by: Limin Wang --- libavcodec/aacenc.c | 3 +-- libavcodec/iirfilter.c | 1 - 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/libavcodec/aacenc.c b/libavcodec/aacenc.c index db11e0c..189f5e0 100644 --- a/libavcodec/aacenc.c +++ b/libavcodec/aacenc.c @@ -1115,7 +1115,6 @@ static av_cold int aac_encode_init(AVCodecContext *avctx) return 0; fail: - aac_encode_end(avctx); return ret; } @@ -1159,7 +1158,7 @@ AVCodec ff_aac_encoder = { .close = aac_encode_end, .defaults = aac_encode_defaults, .supported_samplerates = mpeg4audio_sample_rates, - .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE, + .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP, .capabilities = AV_CODEC_CAP_SMALL_LAST_FRAME | AV_CODEC_CAP_DELAY, .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_NONE }, diff --git a/libavcodec/iirfilter.c b/libavcodec/iirfilter.c index b202515..749fa57 100644 --- a/libavcodec/iirfilter.c +++ b/libavcodec/iirfilter.c @@ -197,7 +197,6 @@ av_cold struct FFIIRFilterCoeffs *ff_iir_filter_init_coeffs(void *avc, return c; init_fail: - ff_iir_filter_free_coeffsp(&c); return NULL; } From patchwork Tue Jun 2 15:26:42 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 20111 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 C1469449383 for ; Tue, 2 Jun 2020 18:28:21 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B02E168B157; Tue, 2 Jun 2020 18:28:21 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pg1-f195.google.com (mail-pg1-f195.google.com [209.85.215.195]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 39FD268B119 for ; Tue, 2 Jun 2020 18:28:20 +0300 (EEST) Received: by mail-pg1-f195.google.com with SMTP id f21so5211102pgg.12 for ; Tue, 02 Jun 2020 08:28:20 -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; bh=ke1DIXXW19960euu8ejbnDecOHLr5f6M10NCFjHxERM=; b=CP5MC731sOmfASLzWpL8MB54Qm7IWy/N+aAtt6EOBmSQKtHy9FJdrGl8rWqOCXzS/i D+iJAXP5/jCS4Pqo9Il7lngJhr7Y3vZxHefaSuuCQLOGOQAPovtWo/qL9DCWtHhRWbn/ yc2Rv0lmgsyF4KluCZlY+Wh4+WZ+/T0CGaiP5Ykvf6ANEKwq9Ha1Hu7HVpnYbXjK6UOl NPUd3qrTFLaJZec5TSMyclsFs2ELsCadU6o0IRagsfX7SPKZG5n7NR1B4OL7my6YIZqI C1iy9FDdSb3xbSMeldcomPqaw+MNZIYnkDMPNj/F1gWtwZw76veajtEAN74vKMe/pt9O fcNg== 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; bh=ke1DIXXW19960euu8ejbnDecOHLr5f6M10NCFjHxERM=; b=uPT8cBdBa6ojIhd+jSo9fzmT+ZRL6UaKfoglK0NEVjr9JN3Jv8ngkkp6TpC4jW5ftf 9oX0nfu7AHnjmLUnPC8G+rU9Ov5caGvQCF8JH539XBWhaIfSdhc7usDxgP3+wvO6BEXM uOaobi9D4PLgNAbEEN1+HS4nO3DoNUB/WIgLuLgayK7ofAx8qMGIYnmVgD92o5mH37Db 5IM5wypjg4akSpc4WZXPxM/TfDwvGEJVzKtsXP3L5b4xQTDRyVfxcDPpmt3o9Jecx5wQ 56UPG7GLI0O4uMhi4e/PGT+16+rPfLwwXxTQIikajTv/U7GG3FHD2N54NP4CP0BBgfmy fcCQ== X-Gm-Message-State: AOAM533iZK2y+9Ose6HQKS7ow85XVGuw/jHSzPodeaJ/OwHtmPPpYXP/ HPGY66FSar8/A3yUocjM8a4OxyEU X-Google-Smtp-Source: ABdhPJyPMKCP3o8TnMHxJxOGIszTr9Ygd+Sl8Gj/LMAnLsFmR11GrT7+X9DKdBzeHRyN2Zaj4FOOHg== X-Received: by 2002:a62:1844:: with SMTP id 65mr26756343pfy.112.1591111698319; Tue, 02 Jun 2020 08:28:18 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id j7sm2626736pfh.154.2020.06.02.08.28.17 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jun 2020 08:28:17 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 2 Jun 2020 23:26:42 +0800 Message-Id: <1591111618-15778-8-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> References: <1590674250-32571-1-git-send-email-lance.lmwang@gmail.com> <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v4 08/24] avcodec/alac: Add FF_CODEC_CAP_INIT_CLEANUP 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: Limin Wang MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Limin Wang Signed-off-by: Limin Wang --- libavcodec/alac.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/alac.c b/libavcodec/alac.c index 82689da..3b41373 100644 --- a/libavcodec/alac.c +++ b/libavcodec/alac.c @@ -511,7 +511,6 @@ static int allocate_buffers(ALACContext *alac) } return 0; buf_alloc_fail: - alac_decode_close(alac->avctx); return AVERROR(ENOMEM); } @@ -625,5 +624,6 @@ AVCodec ff_alac_decoder = { .close = alac_decode_close, .decode = alac_decode_frame, .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS, + .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, .priv_class = &alac_class }; From patchwork Tue Jun 2 15:26:43 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 20112 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 867B8449383 for ; Tue, 2 Jun 2020 18:28:29 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6EF9668B170; Tue, 2 Jun 2020 18:28:29 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pg1-f195.google.com (mail-pg1-f195.google.com [209.85.215.195]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id BA55668AE44 for ; Tue, 2 Jun 2020 18:28:27 +0300 (EEST) Received: by mail-pg1-f195.google.com with SMTP id d10so5229771pgn.4 for ; Tue, 02 Jun 2020 08:28:27 -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; bh=+I5dK05NnB8d4KDf8Vw9q+o8wggzIUI7Z3O5NPF6H74=; b=t3tVSgKfJuBsElVgYkThdBRpsWz+kGw4WphcwtT3zqpB/8spf8KqR1rBN+gz/o/xMZ CV0hdhthf538LpJZBvVM52NvVh/li7noiyUQLIA6KBZ43JUpyB4PxtUb3BetaLnKC4lq WfS9A2EUsWwytnkyecxKqH9DHLZIFUTz8u5qDliD0/os1WsKSNvO5KnNczVcBSAVuEQx S0JRWVuQStC+4s0PdBG1AQhf50SCSE8QVaccD7iPpKkWymm0SnLHEsC/bdBIxm7NBRGw 8KrmM6BUR8hDR6RvcCV72fQk8BgcY2igeoY1BAe3V3Iqd6CG7IQGomclW1Pg0W9+CmFg eVnQ== 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; bh=+I5dK05NnB8d4KDf8Vw9q+o8wggzIUI7Z3O5NPF6H74=; b=kUYIpRWRBNbK+skRhTtcR3CsDlvHayK4B4Tt9CyN+rkQ3mj/XAVnWFFYdr89AjtewN RjAp/87pzDz7WmWZST8UL9Yhn4B3srQb0mDjLKa8AY+eGF7kaNIf8px60DBiPREKAolU 02DEnZNnhAc3/o2Gm0+debek2IoIxrR5WkHdYoZ6VL6GWVIqH0Oshy5pNAKrMnTMPBCh f4nzGHbnnKenh+TZrjEZit5pheaegjBz50ogn0fPv7iYixiYImPGCzbthkqKOBiOJ7R8 b7iJqDJ1nGkoz9DlX2y8BJN89Hgyt/1GMllUA8Ug+8tQCoJHxt85CIFErUDRGY/YC6dY X4uw== X-Gm-Message-State: AOAM530mBHQ7By/10frGj4afeV9+GbujT7ao/9917RgBBrdRmiTXEDcC WYMQvCdHDU6KlYcPdFW0DIA/5xYu X-Google-Smtp-Source: ABdhPJxPQkj3lzSbPctGg41MZfSgRE6uqqFD+gyxskibgYCiT0tLrdsv9GRl3dUJk+6XNw1DJ2IpXQ== X-Received: by 2002:a62:1d4c:: with SMTP id d73mr25227822pfd.226.1591111705796; Tue, 02 Jun 2020 08:28:25 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id j7sm2626736pfh.154.2020.06.02.08.28.24 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jun 2020 08:28:25 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 2 Jun 2020 23:26:43 +0800 Message-Id: <1591111618-15778-9-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> References: <1590674250-32571-1-git-send-email-lance.lmwang@gmail.com> <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v4 09/24] avcodec: add FF_CODEC_CAP_INIT_CLEANUP for all codecs which use ff_mpv_common_init() 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: Limin Wang MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Limin Wang Signed-off-by: Limin Wang --- libavcodec/h261dec.c | 1 + libavcodec/h263dec.c | 4 ++-- libavcodec/mpeg12dec.c | 9 ++++----- libavcodec/mpeg4videodec.c | 3 ++- libavcodec/mpegpicture.c | 1 - libavcodec/mpegvideo.c | 2 -- libavcodec/msmpeg4dec.c | 8 ++++---- libavcodec/rv10.c | 2 ++ libavcodec/svq1enc.c | 4 +--- libavcodec/wmv2dec.c | 1 + 10 files changed, 17 insertions(+), 18 deletions(-) diff --git a/libavcodec/h261dec.c b/libavcodec/h261dec.c index 14a874c..8a49e7d 100644 --- a/libavcodec/h261dec.c +++ b/libavcodec/h261dec.c @@ -686,5 +686,6 @@ AVCodec ff_h261_decoder = { .close = h261_decode_end, .decode = h261_decode_frame, .capabilities = AV_CODEC_CAP_DR1, + .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, .max_lowres = 3, }; diff --git a/libavcodec/h263dec.c b/libavcodec/h263dec.c index 31ac563..3b29a18 100644 --- a/libavcodec/h263dec.c +++ b/libavcodec/h263dec.c @@ -770,7 +770,7 @@ AVCodec ff_h263_decoder = { .decode = ff_h263_decode_frame, .capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_TRUNCATED | AV_CODEC_CAP_DELAY, - .caps_internal = FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM, + .caps_internal = FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM | FF_CODEC_CAP_INIT_CLEANUP, .flush = ff_mpeg_flush, .max_lowres = 3, .pix_fmts = ff_h263_hwaccel_pixfmt_list_420, @@ -788,7 +788,7 @@ AVCodec ff_h263p_decoder = { .decode = ff_h263_decode_frame, .capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_TRUNCATED | AV_CODEC_CAP_DELAY, - .caps_internal = FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM, + .caps_internal = FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM | FF_CODEC_CAP_INIT_CLEANUP, .flush = ff_mpeg_flush, .max_lowres = 3, .pix_fmts = ff_h263_hwaccel_pixfmt_list_420, diff --git a/libavcodec/mpeg12dec.c b/libavcodec/mpeg12dec.c index 40d054d..4814e3b 100644 --- a/libavcodec/mpeg12dec.c +++ b/libavcodec/mpeg12dec.c @@ -2876,8 +2876,7 @@ static av_cold int mpeg_decode_end(AVCodecContext *avctx) { Mpeg1Context *s = avctx->priv_data; - if (s->mpeg_enc_ctx_allocated) - ff_mpv_common_end(&s->mpeg_enc_ctx); + ff_mpv_common_end(&s->mpeg_enc_ctx); av_freep(&s->a53_caption); return 0; } @@ -2894,7 +2893,7 @@ AVCodec ff_mpeg1video_decoder = { .capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_TRUNCATED | AV_CODEC_CAP_DELAY | AV_CODEC_CAP_SLICE_THREADS, - .caps_internal = FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM, + .caps_internal = FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM | FF_CODEC_CAP_INIT_CLEANUP, .flush = flush, .max_lowres = 3, .update_thread_context = ONLY_IF_THREADS_ENABLED(mpeg_decode_update_thread_context), @@ -2927,7 +2926,7 @@ AVCodec ff_mpeg2video_decoder = { .capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_TRUNCATED | AV_CODEC_CAP_DELAY | AV_CODEC_CAP_SLICE_THREADS, - .caps_internal = FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM, + .caps_internal = FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM | FF_CODEC_CAP_INIT_CLEANUP, .flush = flush, .max_lowres = 3, .profiles = NULL_IF_CONFIG_SMALL(ff_mpeg2_video_profiles), @@ -2971,7 +2970,7 @@ AVCodec ff_mpegvideo_decoder = { .close = mpeg_decode_end, .decode = mpeg_decode_frame, .capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_TRUNCATED | AV_CODEC_CAP_DELAY | AV_CODEC_CAP_SLICE_THREADS, - .caps_internal = FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM, + .caps_internal = FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM | FF_CODEC_CAP_INIT_CLEANUP, .flush = flush, .max_lowres = 3, }; diff --git a/libavcodec/mpeg4videodec.c b/libavcodec/mpeg4videodec.c index 7e52bbe..4593477 100644 --- a/libavcodec/mpeg4videodec.c +++ b/libavcodec/mpeg4videodec.c @@ -3594,7 +3594,8 @@ AVCodec ff_mpeg4_decoder = { AV_CODEC_CAP_TRUNCATED | AV_CODEC_CAP_DELAY | AV_CODEC_CAP_FRAME_THREADS, .caps_internal = FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM | - FF_CODEC_CAP_ALLOCATE_PROGRESS, + FF_CODEC_CAP_ALLOCATE_PROGRESS | + FF_CODEC_CAP_INIT_CLEANUP, .flush = ff_mpeg_flush, .max_lowres = 3, .pix_fmts = ff_h263_hwaccel_pixfmt_list_420, diff --git a/libavcodec/mpegpicture.c b/libavcodec/mpegpicture.c index 5fce25e..be90ece 100644 --- a/libavcodec/mpegpicture.c +++ b/libavcodec/mpegpicture.c @@ -90,7 +90,6 @@ int ff_mpeg_framesize_alloc(AVCodecContext *avctx, MotionEstContext *me, return 0; fail: - av_freep(&sc->edge_emu_buffer); return AVERROR(ENOMEM); } diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index 49fd1c9..34dfda5 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -991,7 +991,6 @@ av_cold int ff_mpv_common_init(MpegEncContext *s) fail_nomem: ret = AVERROR(ENOMEM); fail: - ff_mpv_common_end(s); return ret; } @@ -1123,7 +1122,6 @@ int ff_mpv_common_frame_size_change(MpegEncContext *s) return 0; fail: - ff_mpv_common_end(s); return err; } diff --git a/libavcodec/msmpeg4dec.c b/libavcodec/msmpeg4dec.c index 16b6719..49df06a 100644 --- a/libavcodec/msmpeg4dec.c +++ b/libavcodec/msmpeg4dec.c @@ -888,7 +888,7 @@ AVCodec ff_msmpeg4v1_decoder = { .close = ff_h263_decode_end, .decode = ff_h263_decode_frame, .capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1, - .caps_internal = FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM, + .caps_internal = FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM | FF_CODEC_CAP_INIT_CLEANUP, .max_lowres = 3, .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P, @@ -906,7 +906,7 @@ AVCodec ff_msmpeg4v2_decoder = { .close = ff_h263_decode_end, .decode = ff_h263_decode_frame, .capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1, - .caps_internal = FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM, + .caps_internal = FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM | FF_CODEC_CAP_INIT_CLEANUP, .max_lowres = 3, .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P, @@ -924,7 +924,7 @@ AVCodec ff_msmpeg4v3_decoder = { .close = ff_h263_decode_end, .decode = ff_h263_decode_frame, .capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1, - .caps_internal = FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM, + .caps_internal = FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM | FF_CODEC_CAP_INIT_CLEANUP, .max_lowres = 3, .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P, @@ -942,7 +942,7 @@ AVCodec ff_wmv1_decoder = { .close = ff_h263_decode_end, .decode = ff_h263_decode_frame, .capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1, - .caps_internal = FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM, + .caps_internal = FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM | FF_CODEC_CAP_INIT_CLEANUP, .max_lowres = 3, .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P, diff --git a/libavcodec/rv10.c b/libavcodec/rv10.c index 3b41d30..e594160 100644 --- a/libavcodec/rv10.c +++ b/libavcodec/rv10.c @@ -801,6 +801,7 @@ AVCodec ff_rv10_decoder = { .close = rv10_decode_end, .decode = rv10_decode_frame, .capabilities = AV_CODEC_CAP_DR1, + .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, .max_lowres = 3, .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P, @@ -818,6 +819,7 @@ AVCodec ff_rv20_decoder = { .close = rv10_decode_end, .decode = rv10_decode_frame, .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY, + .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, .flush = ff_mpeg_flush, .max_lowres = 3, .pix_fmts = (const enum AVPixelFormat[]) { diff --git a/libavcodec/svq1enc.c b/libavcodec/svq1enc.c index 6510135..aa5a283 100644 --- a/libavcodec/svq1enc.c +++ b/libavcodec/svq1enc.c @@ -528,7 +528,6 @@ static av_cold int svq1_encode_init(AVCodecContext *avctx) s->current_picture = av_frame_alloc(); s->last_picture = av_frame_alloc(); if (!s->current_picture || !s->last_picture) { - svq1_encode_end(avctx); return AVERROR(ENOMEM); } @@ -545,7 +544,6 @@ static av_cold int svq1_encode_init(AVCodecContext *avctx) s->m.avctx = avctx; if ((ret = ff_mpv_common_init(&s->m)) < 0) { - svq1_encode_end(avctx); return ret; } @@ -563,7 +561,6 @@ static av_cold int svq1_encode_init(AVCodecContext *avctx) if (!s->m.me.temp || !s->m.me.scratchpad || !s->m.me.map || !s->m.me.score_map || !s->mb_type || !s->dummy) { - svq1_encode_end(avctx); return AVERROR(ENOMEM); } @@ -691,6 +688,7 @@ AVCodec ff_svq1_encoder = { .init = svq1_encode_init, .encode2 = svq1_encode_frame, .close = svq1_encode_end, + .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV410P, AV_PIX_FMT_NONE }, }; diff --git a/libavcodec/wmv2dec.c b/libavcodec/wmv2dec.c index afa6547..a16c446 100644 --- a/libavcodec/wmv2dec.c +++ b/libavcodec/wmv2dec.c @@ -537,6 +537,7 @@ AVCodec ff_wmv2_decoder = { .close = wmv2_decode_end, .decode = ff_h263_decode_frame, .capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1, + .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, }; From patchwork Tue Jun 2 15:26:44 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 20113 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 70CD7449383 for ; Tue, 2 Jun 2020 18:28:32 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5A9F568B1B1; Tue, 2 Jun 2020 18:28:32 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pl1-f193.google.com (mail-pl1-f193.google.com [209.85.214.193]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8385F68B172 for ; Tue, 2 Jun 2020 18:28:30 +0300 (EEST) Received: by mail-pl1-f193.google.com with SMTP id t7so1490332plr.0 for ; Tue, 02 Jun 2020 08:28:30 -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; bh=IH4pvrhBwmDBi3mEYtehooU70kc58MEQ7MQ8L+BNNUk=; b=DwAgDZ0jLl+UwYSofNZw61JIrs+cD0cfT2oiV9/tzK6TulNDMfYm2sizjeaeVXc06C iCzRJ+TzGGEEL0IhUfmTDf8F8ZW3tglh4sE9DNLgBkOkZd3x5YOpzudBC9uzPHZvyfKZ 70GibVzbtfPCUMJRP+ZOtLkNDyVUy/9YZTyA37NCN9OTzDkcyO6uhDnN7IDOtCNZFzBf gbnHx0Cy8az7mYZdLSnJe4hcRO2E6QjQFZ6SeEBTJIm6trWh8PwkSvOXrGYPBDSMdvFx X3D9Z43xInthKZe2QUleUNfZYe6uhNNHvk0sQtBhEYxWp/aeZpAVjyqbzdoQxfXbfttI QMeQ== 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; bh=IH4pvrhBwmDBi3mEYtehooU70kc58MEQ7MQ8L+BNNUk=; b=r1vAhePZtiC86NcKRauC2D2/EKXHanGXdhI+00m4aMtbG3HOADlWHSld0/0KwZrdz7 9H/CIkz8xWgVBmRZ+vyWeMUyP6+CzYUKMGS0MFqtxr1ZqRrbi8HotSpg+TV5goOXI0D9 xGCtFc2OdNQ93jl+LC5cfcZoJnmg6TNXeFue7w1+MRmN/2ZCMEnabGncKVnGKKKyCF5X dJ4YynxbucWD6TKUs23Ib1Mgx/x5p+xOXjUnXwM1qfKizVGx9pWGFKNuqSDqDKbdPdEQ +QllviBsiEd05GhAR8Uy3bn176G7lRx1negAli+KcgBnnXSkIyc3xR04LjZLxvvMLzlq R8fw== X-Gm-Message-State: AOAM530EfKPbkqFwbrFh37Hl8s+D0wCohw9Au2yIATayqlJJgYQKjQBo NWZb/Fd75jDVCnQFaf2/JsHB4BSy X-Google-Smtp-Source: ABdhPJxFg1ufR4DyhXtRjkDhne+yiDcIv02ROxwTLfVfQ1CGQHvwcwSP+E5h+6FPBmziXz6zF7vSug== X-Received: by 2002:a17:90a:10c1:: with SMTP id b1mr6097246pje.232.1591111708644; Tue, 02 Jun 2020 08:28:28 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id j7sm2626736pfh.154.2020.06.02.08.28.27 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jun 2020 08:28:28 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 2 Jun 2020 23:26:44 +0800 Message-Id: <1591111618-15778-10-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> References: <1590674250-32571-1-git-send-email-lance.lmwang@gmail.com> <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v4 10/24] avcodec/apedec: remove FF_ALLOC_OR_GOTO and gotos lable 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: Limin Wang MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Limin Wang Signed-off-by: Limin Wang --- libavcodec/apedec.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/libavcodec/apedec.c b/libavcodec/apedec.c index 0bee9d8..a817673 100644 --- a/libavcodec/apedec.c +++ b/libavcodec/apedec.c @@ -262,9 +262,8 @@ static av_cold int ape_decode_init(AVCodecContext *avctx) for (i = 0; i < APE_FILTER_LEVELS; i++) { if (!ape_filter_orders[s->fset][i]) break; - FF_ALLOC_OR_GOTO(avctx, s->filterbuf[i], - (ape_filter_orders[s->fset][i] * 3 + HISTORY_SIZE) * 4, - filter_alloc_fail); + if (!(s->filterbuf[i] = av_malloc((ape_filter_orders[s->fset][i] * 3 + HISTORY_SIZE) * 4))) + return AVERROR(ENOMEM); } if (s->fileversion < 3860) { @@ -300,8 +299,6 @@ static av_cold int ape_decode_init(AVCodecContext *avctx) avctx->channel_layout = (avctx->channels==2) ? AV_CH_LAYOUT_STEREO : AV_CH_LAYOUT_MONO; return 0; -filter_alloc_fail: - return AVERROR(ENOMEM); } /** From patchwork Tue Jun 2 15:26:45 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 20114 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 73BD5449383 for ; Tue, 2 Jun 2020 18:28:35 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5BC7168B1E1; Tue, 2 Jun 2020 18:28:35 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf1-f193.google.com (mail-pf1-f193.google.com [209.85.210.193]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 753B268B1D0 for ; Tue, 2 Jun 2020 18:28:33 +0300 (EEST) Received: by mail-pf1-f193.google.com with SMTP id 64so5190697pfg.8 for ; Tue, 02 Jun 2020 08:28:33 -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; bh=Ft92xiqP4LAlASrue+lwgWd9NCGAu0DJWJkdXVqF2ko=; b=NFmWYEtQ+aYcFgLy8LQwkwl0EgtNp9Pzp60gUHZnJWr8b8UKXs92KofTxW9iIP+1qI bHlOLyzRBJzApxcC3CwwrGlaAwechvE1PP/TWw93OUBcK1trmxe8Z/rPKkBwjyH411Gq BgASqrOJaS+AiK6KFS5abTbRlgqhmdJ7LGNuxFn3ylroJOTF+jbPIKYBj2jB/mzwNJXy SB6zD9bvVZ1bS9a42c93g3Nz04cpCRqGxbruuXAG8HV/b+OWElrE9NWEHcQFO6IXBdS8 /gYLTH4bQeBgn8rmKViXyC5bZc7q/eynXK9UbhYDBv4six4Y7XRHQfl+WYvg45DObNgy /+4g== 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; bh=Ft92xiqP4LAlASrue+lwgWd9NCGAu0DJWJkdXVqF2ko=; b=H6eG+Z86HRilLpoS6YlxZTTeYWVBBTb3r4AXaTCNPB4s37uKVgNv49c/ibjumwjL9d yRvGYG+vKPH1kiEN1HoYgn2NWY0TKjH2ylf9bdXz7F4OHVAh7oawrQwoR7KQ6ZcXiBHn GLyFa3UB8iHIII4lAet+MFY7STyUkW44JWLUHDcOl8ufLUdMuZ1/loFdogczBHWU9UWk SoKj4kU5gU3AaHDvSvOopu7irsM413ALuVfjBwY0DUHah15VYIT8e5zYqyhO1aI4biSw zKbLZvr2jGQw1nmnT8DpghdgH57pwnclHklKiBx8Q5iED7bjkh6ERaqA9ku9+oE+mCnZ Sa2w== X-Gm-Message-State: AOAM531lTv+qruzYrFowIMeSqxf35uNaDSnA/A7HOMvQGcaCO7QW8MXM MSKXXRyP5pn/JZIVZqMwZSe3iWwO X-Google-Smtp-Source: ABdhPJyPBiNTwomeG5Q3EKxmdyxWQvMry8qW+2QybR7ZRHD1Oq4g/8EaDSJ9LVSmtI3z08bk8wxYpA== X-Received: by 2002:a63:1617:: with SMTP id w23mr25087905pgl.248.1591111711378; Tue, 02 Jun 2020 08:28:31 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id j7sm2626736pfh.154.2020.06.02.08.28.30 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jun 2020 08:28:30 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 2 Jun 2020 23:26:45 +0800 Message-Id: <1591111618-15778-11-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> References: <1590674250-32571-1-git-send-email-lance.lmwang@gmail.com> <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v4 11/24] avcodec/twinvq: remove FF_ALLOCZ_ARRAY_OR_GOTO and gotos label 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: Limin Wang MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Limin Wang Signed-off-by: Limin Wang --- libavcodec/twinvq.c | 26 ++++++++------------------ 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/libavcodec/twinvq.c b/libavcodec/twinvq.c index 34ca184..6dfaf06 100644 --- a/libavcodec/twinvq.c +++ b/libavcodec/twinvq.c @@ -538,6 +538,7 @@ static av_cold int init_mdct_win(TwinVQContext *tctx) int size_m = mtab->size / mtab->fmode[TWINVQ_FT_MEDIUM].sub; int channels = tctx->avctx->channels; float norm = channels == 1 ? 2.0 : 1.0; + int table_size = 2 * mtab->size * channels; for (i = 0; i < 3; i++) { int bsize = tctx->mtab->size / tctx->mtab->fmode[i].sub; @@ -546,25 +547,17 @@ static av_cold int init_mdct_win(TwinVQContext *tctx) return ret; } - FF_ALLOC_ARRAY_OR_GOTO(tctx->avctx, tctx->tmp_buf, - mtab->size, sizeof(*tctx->tmp_buf), alloc_fail); - - FF_ALLOC_ARRAY_OR_GOTO(tctx->avctx, tctx->spectrum, - 2 * mtab->size, channels * sizeof(*tctx->spectrum), - alloc_fail); - FF_ALLOC_ARRAY_OR_GOTO(tctx->avctx, tctx->curr_frame, - 2 * mtab->size, channels * sizeof(*tctx->curr_frame), - alloc_fail); - FF_ALLOC_ARRAY_OR_GOTO(tctx->avctx, tctx->prev_frame, - 2 * mtab->size, channels * sizeof(*tctx->prev_frame), - alloc_fail); + if (!FF_ALLOC_TYPED_ARRAY(tctx->tmp_buf, mtab->size) || + !FF_ALLOC_TYPED_ARRAY(tctx->spectrum, table_size) || + !FF_ALLOC_TYPED_ARRAY(tctx->curr_frame, table_size) || + !FF_ALLOC_TYPED_ARRAY(tctx->prev_frame, table_size)) + return AVERROR(ENOMEM); for (i = 0; i < 3; i++) { int m = 4 * mtab->size / mtab->fmode[i].sub; double freq = 2 * M_PI / m; - FF_ALLOC_ARRAY_OR_GOTO(tctx->avctx, tctx->cos_tabs[i], - (m / 4), sizeof(*tctx->cos_tabs[i]), alloc_fail); - + if (!FF_ALLOC_TYPED_ARRAY(tctx->cos_tabs[i], m / 4)) + return AVERROR(ENOMEM); for (j = 0; j <= m / 8; j++) tctx->cos_tabs[i][j] = cos((2 * j + 1) * freq); for (j = 1; j < m / 8; j++) @@ -576,9 +569,6 @@ static av_cold int init_mdct_win(TwinVQContext *tctx) ff_init_ff_sine_windows(av_log2(mtab->size)); return 0; - -alloc_fail: - return AVERROR(ENOMEM); } /** From patchwork Tue Jun 2 15:26:46 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 20115 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 4C309449383 for ; Tue, 2 Jun 2020 18:28:38 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 3204968B210; Tue, 2 Jun 2020 18:28:38 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf1-f193.google.com (mail-pf1-f193.google.com [209.85.210.193]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5855B68B210 for ; Tue, 2 Jun 2020 18:28:36 +0300 (EEST) Received: by mail-pf1-f193.google.com with SMTP id z64so5211135pfb.1 for ; Tue, 02 Jun 2020 08:28:36 -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; bh=W/+GMMLAT/Kw5RkpijiGBfumyr7lfY38UFTs19eVHgc=; b=YYQ310Xumshc14kc8lj2pG0LmcKZc4m0BCJWb4ky1HNSYUT2UCSPeCCQHw90+cfdNI /o+eTtSQLTXvT5Do1y6E+vU9MzSVNtjDMjKcKTlm7UwGyVehKkGg+/tu764q5201h4g9 wGO3IyPG1SANdbBw8yj7T4KxLOtNZXgAxKwo3/fhDouCMvFB0xU56C6nfp4SHNP8A4JR DScUvIFZ+bDIQMZ9FASY5WUSL/1DqZ/N2KGhmvZSu4FM+LPR06eQwBaqk0klP0EtwrDJ EBS6Gz+gUowp/43o2WoVwD5bE7CVsc1a4K8rlU38ZXEHpICtpX37UxyZxjFHEVADxgSz 26CQ== 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; bh=W/+GMMLAT/Kw5RkpijiGBfumyr7lfY38UFTs19eVHgc=; b=p045/294bC1QY9q4LUOgapXywaFxs/6mspaNaOVYpo/WANfMD+AhKzz1hNZnVlMlfk NK70J1ckw7b/yyxXLt2rNQ/piLuCUDzymzm988VrtVE1PPrUH8N9ndP0As9bORxRB7k7 PsdhPxhd942j1XUtyL8djcV+EsrYUc2eqQtg9RU6dyBazwhwAUU6iCYYDCTr/R25PPH9 MYwURkWeWwaj03uBGR9/2z3ZM4lNVWypCuwN/Vse5ExBziGfK1Y8wsxMtVJN4ljNWCjA pr0EZ63iVYSL+dVsyQxkIg2BquuZQlBU7C+zHvsQFjNhINY0tpx60689Z5BxIBVxcr0a WZJQ== X-Gm-Message-State: AOAM532QkLh8znhaZz9tIcP/eKg68vyNwvwQJC4VozHuqWxlP5At2Sma EFrMJNSVNuU1QV025gYX+psiPRZn X-Google-Smtp-Source: ABdhPJwgFv8ZGNW0MrMBjx22lNhr8sfmprOtWGgw9PjpnLcSMm40JwK/6ZC7FklM8xj8T0yBUD8iAg== X-Received: by 2002:a65:4c8a:: with SMTP id m10mr24164512pgt.138.1591111714404; Tue, 02 Jun 2020 08:28:34 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id j7sm2626736pfh.154.2020.06.02.08.28.33 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jun 2020 08:28:33 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 2 Jun 2020 23:26:46 +0800 Message-Id: <1591111618-15778-12-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> References: <1590674250-32571-1-git-send-email-lance.lmwang@gmail.com> <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v4 12/24] avcodec/dnxhdenc: remove FF_ALLOCZ_ARRAY_OR_GOTO and gotos label 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: Limin Wang MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Limin Wang Signed-off-by: Limin Wang --- libavcodec/dnxhdenc.c | 65 +++++++++++++++++---------------------------------- 1 file changed, 22 insertions(+), 43 deletions(-) diff --git a/libavcodec/dnxhdenc.c b/libavcodec/dnxhdenc.c index fad8400..bcf4f39 100644 --- a/libavcodec/dnxhdenc.c +++ b/libavcodec/dnxhdenc.c @@ -206,15 +206,11 @@ static av_cold int dnxhd_init_vlc(DNXHDEncContext *ctx) int i, j, level, run; int max_level = 1 << (ctx->bit_depth + 2); - FF_ALLOCZ_ARRAY_OR_GOTO(ctx->m.avctx, ctx->orig_vlc_codes, - max_level, 4 * sizeof(*ctx->orig_vlc_codes), fail); - FF_ALLOCZ_ARRAY_OR_GOTO(ctx->m.avctx, ctx->orig_vlc_bits, - max_level, 4 * sizeof(*ctx->orig_vlc_bits), fail); - FF_ALLOCZ_OR_GOTO(ctx->m.avctx, ctx->run_codes, - 63 * 2, fail); - FF_ALLOCZ_OR_GOTO(ctx->m.avctx, ctx->run_bits, - 63, fail); - + if (!FF_ALLOCZ_TYPED_ARRAY(ctx->orig_vlc_codes, max_level * 4) || + !FF_ALLOCZ_TYPED_ARRAY(ctx->orig_vlc_bits, max_level * 4) || + !(ctx->run_codes = av_mallocz(63 * 2)) || + !(ctx->run_bits = av_mallocz(63))) + return AVERROR(ENOMEM); ctx->vlc_codes = ctx->orig_vlc_codes + max_level * 2; ctx->vlc_bits = ctx->orig_vlc_bits + max_level * 2; for (level = -max_level; level < max_level; level++) { @@ -258,8 +254,6 @@ static av_cold int dnxhd_init_vlc(DNXHDEncContext *ctx) ctx->run_bits[run] = ctx->cid_table->run_bits[i]; } return 0; -fail: - return AVERROR(ENOMEM); } static av_cold int dnxhd_init_qmat(DNXHDEncContext *ctx, int lbias, int cbias) @@ -270,16 +264,11 @@ static av_cold int dnxhd_init_qmat(DNXHDEncContext *ctx, int lbias, int cbias) const uint8_t *luma_weight_table = ctx->cid_table->luma_weight; const uint8_t *chroma_weight_table = ctx->cid_table->chroma_weight; - FF_ALLOCZ_ARRAY_OR_GOTO(ctx->m.avctx, ctx->qmatrix_l, - (ctx->m.avctx->qmax + 1), 64 * sizeof(int), fail); - FF_ALLOCZ_ARRAY_OR_GOTO(ctx->m.avctx, ctx->qmatrix_c, - (ctx->m.avctx->qmax + 1), 64 * sizeof(int), fail); - FF_ALLOCZ_ARRAY_OR_GOTO(ctx->m.avctx, ctx->qmatrix_l16, - (ctx->m.avctx->qmax + 1), 64 * 2 * sizeof(uint16_t), - fail); - FF_ALLOCZ_ARRAY_OR_GOTO(ctx->m.avctx, ctx->qmatrix_c16, - (ctx->m.avctx->qmax + 1), 64 * 2 * sizeof(uint16_t), - fail); + if (!FF_ALLOCZ_TYPED_ARRAY(ctx->qmatrix_l, (ctx->m.avctx->qmax + 1) * 64) || + !FF_ALLOCZ_TYPED_ARRAY(ctx->qmatrix_c, (ctx->m.avctx->qmax + 1) * 64) || + !FF_ALLOCZ_TYPED_ARRAY(ctx->qmatrix_l16, (ctx->m.avctx->qmax + 1) * 64 * 2) || + !FF_ALLOCZ_TYPED_ARRAY(ctx->qmatrix_c16, (ctx->m.avctx->qmax + 1) * 64 * 2)) + return AVERROR(ENOMEM); if (ctx->bit_depth == 8) { for (i = 1; i < 64; i++) { @@ -338,27 +327,23 @@ static av_cold int dnxhd_init_qmat(DNXHDEncContext *ctx, int lbias, int cbias) ctx->m.q_intra_matrix = ctx->qmatrix_l; return 0; -fail: - return AVERROR(ENOMEM); } static av_cold int dnxhd_init_rc(DNXHDEncContext *ctx) { - FF_ALLOCZ_ARRAY_OR_GOTO(ctx->m.avctx, ctx->mb_rc, (ctx->m.avctx->qmax + 1), - ctx->m.mb_num * sizeof(RCEntry), fail); + if (!FF_ALLOCZ_TYPED_ARRAY(ctx->mb_rc, (ctx->m.avctx->qmax + 1) * ctx->m.mb_num)) + return AVERROR(ENOMEM); + if (ctx->m.avctx->mb_decision != FF_MB_DECISION_RD) { - FF_ALLOCZ_ARRAY_OR_GOTO(ctx->m.avctx, ctx->mb_cmp, - ctx->m.mb_num, sizeof(RCCMPEntry), fail); - FF_ALLOCZ_ARRAY_OR_GOTO(ctx->m.avctx, ctx->mb_cmp_tmp, - ctx->m.mb_num, sizeof(RCCMPEntry), fail); + if (!FF_ALLOCZ_TYPED_ARRAY(ctx->mb_cmp, ctx->m.mb_num) || + !FF_ALLOCZ_TYPED_ARRAY(ctx->mb_cmp_tmp, ctx->m.mb_num)) + return AVERROR(ENOMEM); } ctx->frame_bits = (ctx->coding_unit_size - ctx->data_offset - 4 - ctx->min_padding) * 8; ctx->qscale = 1; ctx->lambda = 2 << LAMBDA_FRAC_BITS; // qscale 2 return 0; -fail: - return AVERROR(ENOMEM); } static av_cold int dnxhd_encode_init(AVCodecContext *avctx) @@ -509,15 +494,11 @@ static av_cold int dnxhd_encode_init(AVCodecContext *avctx) if ((ret = dnxhd_init_rc(ctx)) < 0) return ret; - FF_ALLOCZ_OR_GOTO(ctx->m.avctx, ctx->slice_size, - ctx->m.mb_height * sizeof(uint32_t), fail); - FF_ALLOCZ_OR_GOTO(ctx->m.avctx, ctx->slice_offs, - ctx->m.mb_height * sizeof(uint32_t), fail); - FF_ALLOCZ_OR_GOTO(ctx->m.avctx, ctx->mb_bits, - ctx->m.mb_num * sizeof(uint16_t), fail); - FF_ALLOCZ_OR_GOTO(ctx->m.avctx, ctx->mb_qscale, - ctx->m.mb_num * sizeof(uint8_t), fail); - + if (!FF_ALLOCZ_TYPED_ARRAY(ctx->slice_size, ctx->m.mb_height) || + !FF_ALLOCZ_TYPED_ARRAY(ctx->slice_offs, ctx->m.mb_height) || + !FF_ALLOCZ_TYPED_ARRAY(ctx->mb_bits, ctx->m.mb_num) || + !FF_ALLOCZ_TYPED_ARRAY(ctx->mb_qscale, ctx->m.mb_num)) + return AVERROR(ENOMEM); #if FF_API_CODED_FRAME FF_DISABLE_DEPRECATION_WARNINGS avctx->coded_frame->key_frame = 1; @@ -542,14 +523,12 @@ FF_ENABLE_DEPRECATION_WARNINGS for (i = 1; i < avctx->thread_count; i++) { ctx->thread[i] = av_malloc(sizeof(DNXHDEncContext)); if (!ctx->thread[i]) - goto fail; + return AVERROR(ENOMEM); memcpy(ctx->thread[i], ctx, sizeof(DNXHDEncContext)); } } return 0; -fail: // for FF_ALLOCZ_OR_GOTO - return AVERROR(ENOMEM); } static int dnxhd_write_header(AVCodecContext *avctx, uint8_t *buf) From patchwork Tue Jun 2 15:26:47 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 20116 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 25919449383 for ; Tue, 2 Jun 2020 18:28:42 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 0E87368B21B; Tue, 2 Jun 2020 18:28:42 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf1-f195.google.com (mail-pf1-f195.google.com [209.85.210.195]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id EAE2968B237 for ; Tue, 2 Jun 2020 18:28:40 +0300 (EEST) Received: by mail-pf1-f195.google.com with SMTP id d66so5203732pfd.6 for ; Tue, 02 Jun 2020 08:28:40 -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; bh=F0RlSuUw8nlEoZi6xxjp7+rSI6VvnmjFiDWzuhXvXDs=; b=cAm+opdOgdW/mGUmVtenuVIIuecaL809/I5QBwGqHhG2F0Pahw1e1gh1eyIPwrXrOX /CTlLJQKJOBuYjzne3x+ZB4s/ENqq1jpFnHrp/uc//xCXM5F6Q5oo2AVieVaDgCwej6H Uoy4V0bF5EzQ9u/bd/3EV5oa1R8LffN290drcYRP4hFFTJlmazRPSLDcVX8e+zyReCUV J6ix3uIUtJ1CDQZG/u4rkBZoCWOuXCOpj75gxjm5zut4LjSxafOvd9FRVrcg+Fj32u0k CQJILNkPv+Q1M9OXs9BJ5oTZXOIqNOUeKtsDED8MxeycynIDb8agxJm9RBlBWrTjGtYO zeyw== 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; bh=F0RlSuUw8nlEoZi6xxjp7+rSI6VvnmjFiDWzuhXvXDs=; b=T53//SwA7ZuCmWdZ6YweaGcQbPdmLbHlkcM3kirzIgXa8sjvwz/i6j4pLz4oRHsW3u kDU74K9+Kq3dL+elshLwX9vwraHI/Qoaap1zh7BP94XxpLuVU6dgykK8fBTnttqWU8Xo WIJDgnzxeXdks5t3Zo32gWw6cLkdGmJ+Xovem392wb/ghrVWBC0z4BGE27K1MjsUWDHR nqecnCjJR1h0I3bCX++M+2OTG5VDLfqTNQ63ox4L6DZXC/GRNu5W2eLOVezrsfOVKiEE 9j/G9M1yZ88emK4iwrzhe/bpwk41B83RJxLcjodZPnL4IXIiwrbBHwcE8b/Q1iuO6Uis L+rw== X-Gm-Message-State: AOAM531eGGgyq3SDwOhmevBgP7nbzwqa9DWN+6BNOpcYHYNb2jlFDCbb OM5KPJpzZ4j+7tWjGdXyLlMRlOCr X-Google-Smtp-Source: ABdhPJxDdv9ybby3WNeC4WlVvXKGYKtq5mFw1uRZnpcpdpO0UOM+4bdzkdF9Lvj0rTft+4E4n19Vfw== X-Received: by 2002:a63:6dc9:: with SMTP id i192mr22246812pgc.402.1591111717393; Tue, 02 Jun 2020 08:28:37 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id j7sm2626736pfh.154.2020.06.02.08.28.36 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jun 2020 08:28:36 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 2 Jun 2020 23:26:47 +0800 Message-Id: <1591111618-15778-13-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> References: <1590674250-32571-1-git-send-email-lance.lmwang@gmail.com> <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v4 13/24] avcodec/snow: remove FF_ALLOCZ_ARRAY_OR_GOTO and gotos label 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: Limin Wang MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Limin Wang Signed-off-by: Limin Wang --- libavcodec/snow.c | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/libavcodec/snow.c b/libavcodec/snow.c index a3e6afc..066efc5 100644 --- a/libavcodec/snow.c +++ b/libavcodec/snow.c @@ -487,28 +487,27 @@ av_cold int ff_snow_common_init(AVCodecContext *avctx){ width= s->avctx->width; height= s->avctx->height; - FF_ALLOCZ_ARRAY_OR_GOTO(avctx, s->spatial_idwt_buffer, width, height * sizeof(IDWTELEM), fail); - FF_ALLOCZ_ARRAY_OR_GOTO(avctx, s->spatial_dwt_buffer, width, height * sizeof(DWTELEM), fail); //FIXME this does not belong here - FF_ALLOCZ_ARRAY_OR_GOTO(avctx, s->temp_dwt_buffer, width, sizeof(DWTELEM), fail); - FF_ALLOCZ_ARRAY_OR_GOTO(avctx, s->temp_idwt_buffer, width, sizeof(IDWTELEM), fail); - FF_ALLOC_ARRAY_OR_GOTO(avctx, s->run_buffer, ((width + 1) >> 1), ((height + 1) >> 1) * sizeof(*s->run_buffer), fail); + if (!FF_ALLOCZ_TYPED_ARRAY(s->spatial_idwt_buffer, width * height) || + !FF_ALLOCZ_TYPED_ARRAY(s->spatial_dwt_buffer, width * height) || //FIXME this does not belong here + !FF_ALLOCZ_TYPED_ARRAY(s->temp_dwt_buffer, width) || + !FF_ALLOCZ_TYPED_ARRAY(s->temp_idwt_buffer, width) || + !FF_ALLOCZ_TYPED_ARRAY(s->run_buffer, ((width + 1) >> 1) * ((height + 1) >> 1))) + return AVERROR(ENOMEM); for(i=0; ilast_picture[i] = av_frame_alloc(); if (!s->last_picture[i]) - goto fail; + return AVERROR(ENOMEM); } s->mconly_picture = av_frame_alloc(); s->current_picture = av_frame_alloc(); if (!s->mconly_picture || !s->current_picture) - goto fail; + return AVERROR(ENOMEM); return 0; -fail: - return AVERROR(ENOMEM); } int ff_snow_common_init_after_header(AVCodecContext *avctx) { @@ -520,9 +519,10 @@ int ff_snow_common_init_after_header(AVCodecContext *avctx) { if ((ret = ff_get_buffer(s->avctx, s->mconly_picture, AV_GET_BUFFER_FLAG_REF)) < 0) return ret; - FF_ALLOCZ_ARRAY_OR_GOTO(avctx, s->scratchbuf, FFMAX(s->mconly_picture->linesize[0], 2*avctx->width+256), 7*MB_SIZE, fail); emu_buf_size = FFMAX(s->mconly_picture->linesize[0], 2*avctx->width+256) * (2 * MB_SIZE + HTAPS_MAX - 1); - FF_ALLOC_OR_GOTO(avctx, s->emu_edge_buffer, emu_buf_size, fail); + 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) { @@ -571,7 +571,7 @@ int ff_snow_common_init_after_header(AVCodecContext *avctx) { av_freep(&b->x_coeff); b->x_coeff=av_mallocz_array(((b->width+1) * b->height+1), sizeof(x_and_coeff)); if (!b->x_coeff) - goto fail; + return AVERROR(ENOMEM); } w= (w+1)>>1; h= (h+1)>>1; @@ -579,8 +579,6 @@ int ff_snow_common_init_after_header(AVCodecContext *avctx) { } return 0; -fail: - return AVERROR(ENOMEM); } #define USE_HALFPEL_PLANE 0 From patchwork Tue Jun 2 15:26:48 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 20117 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 35BA5449383 for ; Tue, 2 Jun 2020 18:28:44 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1CD1A68B260; Tue, 2 Jun 2020 18:28:44 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f67.google.com (mail-pj1-f67.google.com [209.85.216.67]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4B4F768B27D for ; Tue, 2 Jun 2020 18:28:42 +0300 (EEST) Received: by mail-pj1-f67.google.com with SMTP id h95so1627226pje.4 for ; Tue, 02 Jun 2020 08:28: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:in-reply-to:references; bh=w0j0BIVl/EEwAUiqk+r5egZMPQg7UGerjSC8OXMeIY8=; b=OXcy3wlK/VtQ8n6W2VTZyLqCBhBVav2lFuPpmaHV+XVsmr8A1CYpXTHvjl5xR7O32S GCWVE1Ez/uzhUIXSa4UhbnwJcDuuAy7rPS9aPoRRYXZbGV0ZMy3oIqWIXgj0EdFdKoSv LZDe/8e0i0UmQhYcZVf3NaenMBKSxHAcDLXT4dk4goxj98gNuX8zp7kQvlHLOq/KnYtU djVyZqwUypZWUG144aIlUfuIJ2m//i9RaBRLP8UeKLi0k3RQJhJvV3nSrVzOxAndKUnI kY3DDiBQNXmzfkeMOv05PpO6FJf9UF8O31SwjhGAaZ6SexSld9LQyuZ0pFue8I7NG4QK dcgw== 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; bh=w0j0BIVl/EEwAUiqk+r5egZMPQg7UGerjSC8OXMeIY8=; b=S04afeMdsnGCUBhJsFQ2+RCFvXcPo/XhujHXjxCm5MI5KgP4e5XkFIVNZX764z5lTc lmv55mRv1+2tNPnhmiiTp/U8grmeyOZQ1aB/lFy+t2hvsO8YvjWvAqEm1pa7B4bQbN9w Ngkjo0BLEeJY4E+UFH/5PjVa7XGUL8PWmQ0COWcMoNp4bP3rJ1+XoGOI2YSHWk3fqKjV N1/E6tY92DHtgajWnrE2WU9KcOdShV+B7dbJ6oClKPkQlBCmCNUu/uz9TwcQTIyuMnaT 8rUiam/FOseM3aem+QySAbKWZD0CburvysH8GpsMICynJroR6VrABd3MHYjSLK8I7fis O/7g== X-Gm-Message-State: AOAM533qvqv6hX5cyFiHFoqBm3RwCm8Dwnh+Auz1Rj1rb98pqfNhCmoS 3wX1+QrZyJ/kttnQIgorMsr0vwYS X-Google-Smtp-Source: ABdhPJy3Z9qd1Mswv6fzv60//6isbYRkRbwnrgBBvj9Vj5dgJRYKMyrHbDkWlcFG/tlLsjsXpfZ9IA== X-Received: by 2002:a17:90a:e509:: with SMTP id t9mr3052837pjy.189.1591111720293; Tue, 02 Jun 2020 08:28:40 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id j7sm2626736pfh.154.2020.06.02.08.28.38 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jun 2020 08:28:39 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 2 Jun 2020 23:26:48 +0800 Message-Id: <1591111618-15778-14-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> References: <1590674250-32571-1-git-send-email-lance.lmwang@gmail.com> <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v4 14/24] avcodec/ac3enc: remove FF_ALLOCZ_ARRAY_OR_GOTO and gotos label 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: Limin Wang MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Limin Wang Signed-off-by: Limin Wang --- libavcodec/ac3enc.c | 94 ++++++++++++++++++++++------------------------------- 1 file changed, 38 insertions(+), 56 deletions(-) diff --git a/libavcodec/ac3enc.c b/libavcodec/ac3enc.c index 4fb2dd9..37dc0fb 100644 --- a/libavcodec/ac3enc.c +++ b/libavcodec/ac3enc.c @@ -2322,60 +2322,46 @@ static av_cold void set_bandwidth(AC3EncodeContext *s) static av_cold int allocate_buffers(AC3EncodeContext *s) { - AVCodecContext *avctx = s->avctx; int blk, ch; int channels = s->channels + 1; /* includes coupling channel */ int channel_blocks = channels * s->num_blocks; int total_coefs = AC3_MAX_COEFS * channel_blocks; if (s->allocate_sample_buffers(s)) - goto alloc_fail; - - FF_ALLOC_ARRAY_OR_GOTO(avctx, s->bap_buffer, total_coefs, - sizeof(*s->bap_buffer), alloc_fail); - FF_ALLOC_ARRAY_OR_GOTO(avctx, s->bap1_buffer, total_coefs, - sizeof(*s->bap1_buffer), alloc_fail); - FF_ALLOCZ_ARRAY_OR_GOTO(avctx, s->mdct_coef_buffer, total_coefs, - sizeof(*s->mdct_coef_buffer), alloc_fail); - FF_ALLOC_ARRAY_OR_GOTO(avctx, s->exp_buffer, total_coefs, - sizeof(*s->exp_buffer), alloc_fail); - FF_ALLOC_ARRAY_OR_GOTO(avctx, s->grouped_exp_buffer, channel_blocks, 128 * - sizeof(*s->grouped_exp_buffer), alloc_fail); - FF_ALLOC_ARRAY_OR_GOTO(avctx, s->psd_buffer, total_coefs, - sizeof(*s->psd_buffer), alloc_fail); - FF_ALLOC_ARRAY_OR_GOTO(avctx, s->band_psd_buffer, channel_blocks, 64 * - sizeof(*s->band_psd_buffer), alloc_fail); - FF_ALLOC_ARRAY_OR_GOTO(avctx, s->mask_buffer, channel_blocks, 64 * - sizeof(*s->mask_buffer), alloc_fail); - FF_ALLOC_ARRAY_OR_GOTO(avctx, s->qmant_buffer, total_coefs, - sizeof(*s->qmant_buffer), alloc_fail); + return AVERROR(ENOMEM); + + if (!FF_ALLOC_TYPED_ARRAY(s->bap_buffer, total_coefs) || + !FF_ALLOC_TYPED_ARRAY(s->bap1_buffer, total_coefs) || + !FF_ALLOCZ_TYPED_ARRAY(s->mdct_coef_buffer, total_coefs) || + !FF_ALLOC_TYPED_ARRAY(s->exp_buffer, total_coefs) || + !FF_ALLOC_TYPED_ARRAY(s->grouped_exp_buffer, channel_blocks * 128) || + !FF_ALLOC_TYPED_ARRAY(s->psd_buffer, total_coefs) || + !FF_ALLOC_TYPED_ARRAY(s->band_psd_buffer, channel_blocks * 64) || + !FF_ALLOC_TYPED_ARRAY(s->mask_buffer, channel_blocks * 64) || + !FF_ALLOC_TYPED_ARRAY(s->qmant_buffer, total_coefs)) + return AVERROR(ENOMEM); + if (s->cpl_enabled) { - FF_ALLOC_ARRAY_OR_GOTO(avctx, s->cpl_coord_exp_buffer, channel_blocks, 16 * - sizeof(*s->cpl_coord_exp_buffer), alloc_fail); - FF_ALLOC_ARRAY_OR_GOTO(avctx, s->cpl_coord_mant_buffer, channel_blocks, 16 * - sizeof(*s->cpl_coord_mant_buffer), alloc_fail); + if (!FF_ALLOC_TYPED_ARRAY(s->cpl_coord_exp_buffer, channel_blocks * 16) || + !FF_ALLOC_TYPED_ARRAY(s->cpl_coord_mant_buffer, channel_blocks * 16)) + return AVERROR(ENOMEM); } for (blk = 0; blk < s->num_blocks; blk++) { AC3Block *block = &s->blocks[blk]; - FF_ALLOCZ_ARRAY_OR_GOTO(avctx, block->mdct_coef, channels, sizeof(*block->mdct_coef), - alloc_fail); - FF_ALLOCZ_ARRAY_OR_GOTO(avctx, block->exp, channels, sizeof(*block->exp), - alloc_fail); - FF_ALLOCZ_ARRAY_OR_GOTO(avctx, block->grouped_exp, channels, sizeof(*block->grouped_exp), - alloc_fail); - FF_ALLOCZ_ARRAY_OR_GOTO(avctx, block->psd, channels, sizeof(*block->psd), - alloc_fail); - FF_ALLOCZ_ARRAY_OR_GOTO(avctx, block->band_psd, channels, sizeof(*block->band_psd), - alloc_fail); - FF_ALLOCZ_ARRAY_OR_GOTO(avctx, block->mask, channels, sizeof(*block->mask), - alloc_fail); - FF_ALLOCZ_ARRAY_OR_GOTO(avctx, block->qmant, channels, sizeof(*block->qmant), - alloc_fail); + + if (!FF_ALLOCZ_TYPED_ARRAY(block->mdct_coef, channels) || + !FF_ALLOCZ_TYPED_ARRAY(block->exp, channels) || + !FF_ALLOCZ_TYPED_ARRAY(block->grouped_exp, channels) || + !FF_ALLOCZ_TYPED_ARRAY(block->psd, channels) || + !FF_ALLOCZ_TYPED_ARRAY(block->band_psd, channels) || + !FF_ALLOCZ_TYPED_ARRAY(block->mask, channels) || + !FF_ALLOCZ_TYPED_ARRAY(block->qmant, channels)) + return AVERROR(ENOMEM); + if (s->cpl_enabled) { - FF_ALLOCZ_ARRAY_OR_GOTO(avctx, block->cpl_coord_exp, channels, sizeof(*block->cpl_coord_exp), - alloc_fail); - FF_ALLOCZ_ARRAY_OR_GOTO(avctx, block->cpl_coord_mant, channels, sizeof(*block->cpl_coord_mant), - alloc_fail); + if (!FF_ALLOCZ_TYPED_ARRAY(block->cpl_coord_exp, channels) || + !FF_ALLOCZ_TYPED_ARRAY(block->cpl_coord_mant, channels)) + return AVERROR(ENOMEM); } for (ch = 0; ch < channels; ch++) { @@ -2397,28 +2383,26 @@ static av_cold int allocate_buffers(AC3EncodeContext *s) } if (!s->fixed_point) { - FF_ALLOCZ_ARRAY_OR_GOTO(avctx, s->fixed_coef_buffer, total_coefs, - sizeof(*s->fixed_coef_buffer), alloc_fail); + if (!FF_ALLOCZ_TYPED_ARRAY(s->fixed_coef_buffer, total_coefs)) + return AVERROR(ENOMEM); for (blk = 0; blk < s->num_blocks; blk++) { AC3Block *block = &s->blocks[blk]; - FF_ALLOCZ_ARRAY_OR_GOTO(avctx, block->fixed_coef, channels, - sizeof(*block->fixed_coef), alloc_fail); + if (!FF_ALLOCZ_TYPED_ARRAY(block->fixed_coef, channels)) + return AVERROR(ENOMEM); for (ch = 0; ch < channels; ch++) block->fixed_coef[ch] = &s->fixed_coef_buffer[AC3_MAX_COEFS * (s->num_blocks * ch + blk)]; } } else { for (blk = 0; blk < s->num_blocks; blk++) { AC3Block *block = &s->blocks[blk]; - FF_ALLOCZ_ARRAY_OR_GOTO(avctx, block->fixed_coef, channels, - sizeof(*block->fixed_coef), alloc_fail); + if (!FF_ALLOCZ_TYPED_ARRAY(block->fixed_coef, channels)) + return AVERROR(ENOMEM); for (ch = 0; ch < channels; ch++) block->fixed_coef[ch] = (int32_t *)block->mdct_coef[ch]; } } return 0; -alloc_fail: - return AVERROR(ENOMEM); } @@ -2433,7 +2417,7 @@ av_cold int ff_ac3_encode_init(AVCodecContext *avctx) ret = validate_options(s); if (ret) - goto init_fail; + return ret; avctx->frame_size = AC3_BLOCK_SIZE * s->num_blocks; avctx->initial_padding = AC3_BLOCK_SIZE; @@ -2476,11 +2460,11 @@ av_cold int ff_ac3_encode_init(AVCodecContext *avctx) ret = s->mdct_init(s); if (ret) - goto init_fail; + return ret; ret = allocate_buffers(s); if (ret) - goto init_fail; + return ret; ff_audiodsp_init(&s->adsp); ff_me_cmp_init(&s->mecc, avctx); @@ -2489,6 +2473,4 @@ av_cold int ff_ac3_encode_init(AVCodecContext *avctx) dprint_options(s); return 0; -init_fail: - return ret; } From patchwork Tue Jun 2 15:26:49 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 20118 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 465B8449383 for ; Tue, 2 Jun 2020 18:28:46 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 2BCF968B2A6; Tue, 2 Jun 2020 18:28:46 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f67.google.com (mail-pj1-f67.google.com [209.85.216.67]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 99B5A68B0A1 for ; Tue, 2 Jun 2020 18:28:44 +0300 (EEST) Received: by mail-pj1-f67.google.com with SMTP id s88so1620943pjb.5 for ; Tue, 02 Jun 2020 08:28:44 -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; bh=9Q2SWRaMTWsEoa/sJUTz+Z9evdLpumpLmgOfT7xhIeU=; b=d6+TSUz82d/nbMmfy808GctD0e4dTTuElTD0q7QueBCMyAt1e9NG73XnWVAOBsCWbL +ZqYDgITT+b9zMBqLDHAnJ7xY6o196S7CaxwHQ6TUEYALDWEl49jFUWHpv+3SwRl8CWF tFzPOrdE0k8Z8kKh785K2lzxiDFKPjBW6gtyxp/YOfXFTJPKa8UFGv+sqN3wqr7Ngab4 CeroFoGpVKCB1C1HH1Wn8aCEIefDtY64qFqFdo3+2JMKzq42U2k2K4aOyoexC8UjOmNm B1+51m5LOuwwOu1YBroNDNGehEoDr0LbCm8bIF+Gtsby+jBUDOE5tL+zny0NC/Os4/jq WGmw== 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; bh=9Q2SWRaMTWsEoa/sJUTz+Z9evdLpumpLmgOfT7xhIeU=; b=oQvFVgr4J3yFU1nGFHflNG4GvwOn5YqRj6WTxNaAF3aShA/8wuOQw80SnP2itEVEo3 yS+/angb4MH1Dy0GnIBryifNbRcJERafFbklCoK77QD8PEjmc53ldgRku5MQhkirLTzk 1p5LNL6R6tdFd5CM+Oa24C0N7W0yRBViziqHyUUBZgsxXkhzfES2PjCn2ju8d72WBK1A YOljuba7OqHQpvbcr2eSIKl+s5guEU1m6aT5S/jws2HJg1IugNlt4xVwUxak322tFpLd JQd+XGuDQtcvdgyjx0y38vWQ6fhA4tG1uz9WSh4x1JDxpLLYOn+YGbcwzoULbCMGHhsz HAQQ== X-Gm-Message-State: AOAM532rbN89iceB+rcora4KcRePlYF/mhVQoodBr/6XHkjodaEiD9WB r2mkr9C+gJIHvMKePfbL9AFPvZJu X-Google-Smtp-Source: ABdhPJyVfun3fIAQrp3Aaq4KkWUPZ7m/RDJvujXvH4vYqleKAjbs87NHHTS+uVxkXkMdm50h5ORHbQ== X-Received: by 2002:a17:90a:2ac2:: with SMTP id i2mr6054068pjg.80.1591111722815; Tue, 02 Jun 2020 08:28:42 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id j7sm2626736pfh.154.2020.06.02.08.28.41 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jun 2020 08:28:42 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 2 Jun 2020 23:26:49 +0800 Message-Id: <1591111618-15778-15-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> References: <1590674250-32571-1-git-send-email-lance.lmwang@gmail.com> <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v4 15/24] avcodec/ac3enc_template: remove FF_ALLOC_ARRAY_OR_GOTO and gotos label 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: Limin Wang MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Limin Wang Signed-off-by: Limin Wang --- libavcodec/ac3enc_template.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/libavcodec/ac3enc_template.c b/libavcodec/ac3enc_template.c index be65987..985b35e 100644 --- a/libavcodec/ac3enc_template.c +++ b/libavcodec/ac3enc_template.c @@ -41,19 +41,16 @@ int AC3_NAME(allocate_sample_buffers)(AC3EncodeContext *s) { int ch; - FF_ALLOC_OR_GOTO(s->avctx, s->windowed_samples, AC3_WINDOW_SIZE * - sizeof(*s->windowed_samples), alloc_fail); - FF_ALLOC_ARRAY_OR_GOTO(s->avctx, s->planar_samples, s->channels, sizeof(*s->planar_samples), - alloc_fail); + if (!FF_ALLOC_TYPED_ARRAY(s->windowed_samples, AC3_WINDOW_SIZE) || + !FF_ALLOC_TYPED_ARRAY(s->planar_samples, s->channels)) + return AVERROR(ENOMEM); + for (ch = 0; ch < s->channels; ch++) { - FF_ALLOCZ_OR_GOTO(s->avctx, s->planar_samples[ch], - (AC3_FRAME_SIZE+AC3_BLOCK_SIZE) * sizeof(**s->planar_samples), - alloc_fail); + if (!(s->planar_samples[ch] = av_mallocz((AC3_FRAME_SIZE + AC3_BLOCK_SIZE) * + sizeof(**s->planar_samples)))) + return AVERROR(ENOMEM); } - return 0; -alloc_fail: - return AVERROR(ENOMEM); } From patchwork Tue Jun 2 15:26:50 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 20119 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 38824449383 for ; Tue, 2 Jun 2020 18:28:54 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1C01B68B2C6; Tue, 2 Jun 2020 18:28:54 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f68.google.com (mail-pj1-f68.google.com [209.85.216.68]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 53FCA68B08F for ; Tue, 2 Jun 2020 18:28:47 +0300 (EEST) Received: by mail-pj1-f68.google.com with SMTP id 5so1634726pjd.0 for ; Tue, 02 Jun 2020 08:28:47 -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; bh=E/YZZq7uFXlKvWZj5nO03kobYCv3gRwAtFf/754B0wU=; b=JRMH6A5nkDuLQCG0O5UU/3Yxd/C62Mly8+YSi+nxMUEiZ6kk4xG93fA65PWKZaRJ+Q 63ZgB4hzsnQ7ADiyWvd/YLnJCH/274vmOJk/u5SyIHIuaC+AZmG69SHT+ONUyc/cKFUQ DKQKO8lZm4TDIDs3IfE8jtvQYwOgXEVIKaHqmhqErZjxh9UW3VqODaZroCxh57/m24oq 9NbEFjEndHTG0yxkGYiI6QRRSYD0WOUSbednYgc1dYw37dQQQly3Jdq4sxPuaxfT7min 4+cc5+dRN+4CUjuGeTv/AGLI4ZvB8UajsAQ0XKOdUrC0xAbh1LsqLyLBcAyO6PPqGPPR atqA== 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; bh=E/YZZq7uFXlKvWZj5nO03kobYCv3gRwAtFf/754B0wU=; b=WHOE442xnb2xpB9YU9/rZ3namFbPrCWWEH/cPo5FR4OzX5LkqiTf2G93I30r62sLl+ SUBIgeiIcsrqaeEeK1dsenmoKw/5a0AUOTYkbREZXUf6JlFkoPdXnV3L12KyiatOQthP wfLdHcPLoGBRnb0xndZs8RzslbOI1otOFzd97vl3sk+3k092YC39ZvT3rtgCs8onUwG0 /XDwhFWzxBDK94x/DysvalHL4jb+IVdbQMLGT226qHr2Be5+kIXuFMi0yzDJdJvR6GKr L0/bP2vNq3M8chfXUBctnNl3F5yzvX1mAWVawjvU23m7+c4gQtch4S5PpiSQ+2krJP4L 2z7w== X-Gm-Message-State: AOAM531ee/PZB669XzCj7DQcYn0qiUvhwErOjOHQk7/kKY0ioTMXNEpR 2rLeI87uCA/PQnrrbzSeYJ33XwpZ X-Google-Smtp-Source: ABdhPJyILzdTY2PRvQl9XeLtNME+Yv++YhgeYU61EQx0ECKJ/xKO2/83v186U0RUuM1OGkH7pPzP+g== X-Received: by 2002:a17:90a:6546:: with SMTP id f6mr6115713pjs.55.1591111725518; Tue, 02 Jun 2020 08:28:45 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id j7sm2626736pfh.154.2020.06.02.08.28.44 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jun 2020 08:28:45 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 2 Jun 2020 23:26:50 +0800 Message-Id: <1591111618-15778-16-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> References: <1590674250-32571-1-git-send-email-lance.lmwang@gmail.com> <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v4 16/24] avcodec/aacenc: remove FF_ALLOCZ_ARRAY_OR_GOTO and failed gotos label 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: Limin Wang MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Limin Wang Signed-off-by: Limin Wang --- libavcodec/aacenc.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/libavcodec/aacenc.c b/libavcodec/aacenc.c index 189f5e0..e65b76c 100644 --- a/libavcodec/aacenc.c +++ b/libavcodec/aacenc.c @@ -941,15 +941,14 @@ static av_cold int dsp_init(AVCodecContext *avctx, AACEncContext *s) static av_cold int alloc_buffers(AVCodecContext *avctx, AACEncContext *s) { int ch; - FF_ALLOCZ_ARRAY_OR_GOTO(avctx, s->buffer.samples, s->channels, 3 * 1024 * sizeof(s->buffer.samples[0]), alloc_fail); - FF_ALLOCZ_ARRAY_OR_GOTO(avctx, s->cpe, s->chan_map[0], sizeof(ChannelElement), alloc_fail); + if (!FF_ALLOCZ_TYPED_ARRAY(s->buffer.samples, s->channels * 3 * 1024) || + !FF_ALLOCZ_TYPED_ARRAY(s->cpe, s->chan_map[0])) + return AVERROR(ENOMEM); for(ch = 0; ch < s->channels; ch++) s->planar_samples[ch] = s->buffer.samples + 3 * 1024 * ch; return 0; -alloc_fail: - return AVERROR(ENOMEM); } static av_cold void aac_encode_init_tables(void) @@ -1078,13 +1077,13 @@ static av_cold int aac_encode_init(AVCodecContext *avctx) s->options.mid_side = 0; if ((ret = dsp_init(avctx, s)) < 0) - goto fail; + return ret; if ((ret = alloc_buffers(avctx, s)) < 0) - goto fail; + return ret; if ((ret = put_audio_specific_config(avctx))) - goto fail; + return ret; sizes[0] = ff_aac_swb_size_1024[s->samplerate_index]; sizes[1] = ff_aac_swb_size_128[s->samplerate_index]; @@ -1094,7 +1093,7 @@ static av_cold int aac_encode_init(AVCodecContext *avctx) grouping[i] = s->chan_map[i + 1] == TYPE_CPE; if ((ret = ff_psy_init(&s->psy, avctx, 2, sizes, lengths, s->chan_map[0], grouping)) < 0) - goto fail; + return ret; s->psypp = ff_psy_preprocess_init(avctx); ff_lpc_init(&s->lpc, 2*avctx->frame_size, TNS_MAX_ORDER, FF_LPC_TYPE_LEVINSON); s->random_state = 0x1f2e3d4c; @@ -1114,8 +1113,6 @@ static av_cold int aac_encode_init(AVCodecContext *avctx) ff_af_queue_init(avctx, &s->afq); return 0; -fail: - return ret; } #define AACENC_FLAGS AV_OPT_FLAG_ENCODING_PARAM | AV_OPT_FLAG_AUDIO_PARAM From patchwork Tue Jun 2 15:26:51 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 20121 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 8143D449383 for ; Tue, 2 Jun 2020 18:28:56 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6C8C368B31C; Tue, 2 Jun 2020 18:28:56 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf1-f195.google.com (mail-pf1-f195.google.com [209.85.210.195]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D782A68B0B8 for ; Tue, 2 Jun 2020 18:28:49 +0300 (EEST) Received: by mail-pf1-f195.google.com with SMTP id 64so5191078pfg.8 for ; Tue, 02 Jun 2020 08:28:49 -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; bh=/qr4dxvHMpRtE/8FbrYFhNpl5V1nwzHb3e5HoX+zdSw=; b=JM5KeX8X/c9Xuwbvf/OnIz9+Pare8CXNmhZ8Iq0WQHErpoJRXNYrX5YiJSBwKvpe4s EOX2ibhVN0WfHfgznUaJhc9M7mKwXdeSSHB2HN8eazJyGK+VFFhP3RHH0u08FVWPFmGo wgtKo//y6iLR5gZDPy2QrmkAmU8sZR3HRoBjq5MK/SmLCFyOVHjCPRLOXDSaBVFhJtiP qNEwmFd46KpbmG7X0OnDgLNpCpXiBBHqD34bPdTGbk6rChaQCPQO/yjs2JAZRGuhT2jP b25+eEmincdcO3sLfPg9X8ucdU1cpdMbnfoPXfc1Uoe1gqvY7HDt/gEc4RljI8biiYBq HmKg== 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; bh=/qr4dxvHMpRtE/8FbrYFhNpl5V1nwzHb3e5HoX+zdSw=; b=dexxLyD7G2b1hAXFYfV7LMHDWSEYHPNOpiRwCHIa17qjuQm34CkYqJ4fo1WjM1Mv7U Hp3S91km90/6dUlqCbpcPgE/egtEBj3C4ZDHfMfan0xJB+mhKgRi8iL01Xu8Bljrk/xH VzJLvpJ6nYrFAdJJ6bXOj/wfzLt1eop1A/Ur9L4fmypde4v7GRo1kkvYdZar+/CyUmKN YhtTf5cCmJJTI9/dvEibrHT8wCHCx3SIkjBhJ4bsp1n9NpmJLa+iuDL06khbke2m68xM XjenoCNiSqRrGeK2c5fD13hxpV32WPhijwpRRZEugL3EoHzBLZtlpmUlO7HVkOMoIQaM SOIQ== X-Gm-Message-State: AOAM5329875GbpZRlwzRtY4sFh6t7qoDOOp374/lX2+laPr+EowxWf/c iAlf2MiZpE5HRDNoMyyQq4Vn5RlZ X-Google-Smtp-Source: ABdhPJzui6y79qutd4SE6KVKE0O8KnTIthIQ+VhexFCdN3jTVBQEZzbNr0dY+2fQDhUPWon9ZUIWrQ== X-Received: by 2002:a62:a518:: with SMTP id v24mr24286193pfm.295.1591111728141; Tue, 02 Jun 2020 08:28:48 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id j7sm2626736pfh.154.2020.06.02.08.28.46 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jun 2020 08:28:47 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 2 Jun 2020 23:26:51 +0800 Message-Id: <1591111618-15778-17-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> References: <1590674250-32571-1-git-send-email-lance.lmwang@gmail.com> <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v4 17/24] avcodec/iirfilter: remove FF_ALLOCZ_OR_GOTO and gotos label 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: Limin Wang MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Limin Wang Signed-off-by: Limin Wang --- libavcodec/iirfilter.c | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/libavcodec/iirfilter.c b/libavcodec/iirfilter.c index 749fa57..ddd42c2 100644 --- a/libavcodec/iirfilter.c +++ b/libavcodec/iirfilter.c @@ -171,12 +171,10 @@ av_cold struct FFIIRFilterCoeffs *ff_iir_filter_init_coeffs(void *avc, if (order <= 0 || order > MAXORDER || cutoff_ratio >= 1.0) return NULL; - FF_ALLOCZ_OR_GOTO(avc, c, sizeof(FFIIRFilterCoeffs), - init_fail); - FF_ALLOC_OR_GOTO(avc, c->cx, sizeof(c->cx[0]) * ((order >> 1) + 1), - init_fail); - FF_ALLOC_OR_GOTO(avc, c->cy, sizeof(c->cy[0]) * order, - init_fail); + if (!(c = av_mallocz(sizeof(*c))) || + !(c->cx = av_malloc (sizeof(c->cx[0]) * ((order >> 1) + 1))) || + !(c->cy = av_malloc (sizeof(c->cy[0]) * order))) + return NULL; c->order = order; switch (filt_type) { @@ -190,13 +188,11 @@ av_cold struct FFIIRFilterCoeffs *ff_iir_filter_init_coeffs(void *avc, break; default: av_log(avc, AV_LOG_ERROR, "filter type is not currently implemented\n"); - goto init_fail; + return NULL; } if (!ret) return c; - -init_fail: return NULL; } From patchwork Tue Jun 2 15:26:52 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 20120 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 7C4D0449383 for ; Tue, 2 Jun 2020 18:28:55 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6161D68B2D1; Tue, 2 Jun 2020 18:28:55 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f68.google.com (mail-pj1-f68.google.com [209.85.216.68]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9319E68B0B8 for ; Tue, 2 Jun 2020 18:28:52 +0300 (EEST) Received: by mail-pj1-f68.google.com with SMTP id m2so1626850pjv.2 for ; Tue, 02 Jun 2020 08:28:52 -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; bh=pahr5IZGRUcTOQGwaysrp6HqshjGmgqjaMOfJczWHe8=; b=b+HAfPPVr5TJmx7FKsxT+mL6yKGt1fzwZdHVlqpzwkG94TMPN+tlbjAErj3OCrw8Xr iCrAQrC6YIIzmL8KBjhENutaE5bmYAN+y0p+g8YsUZuB+VlnM3Gb2j0narzqIvs/63F7 uOPt/Kf30uBTsGVvFwsIlr0xRf83kKvXBqml73jGXo7gIb/9qK/61xrRSCRxS7yqAMY7 t1+3TBgfTFflSkRKfRbRZ/wyK7iazZBpJTuu7z+qnoUOIiJtu3a2qrf36P2oMTXeXfWK Dh7oVvbPhudIIXNVgswqgrr1Spb76OsOrAym0dPFYBVhZuk4gqmW5Xv5cE7LBVJaYL2k KMCQ== 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; bh=pahr5IZGRUcTOQGwaysrp6HqshjGmgqjaMOfJczWHe8=; b=ch0U3WKUlZQoU9nKEfZzWIGsX2TtK/M1jengmhxLmqxalEhVn3qmxHNrrtLrV+ViAN opsrTu1gdz9S8iB5FlGz17te9AeHv3XmNH3+pVRx22xxFjF1sZlv5YENnm/dmRsxv+0+ 7r0rC687Vkwqs+wq1u5dFQNLumdi7FEv38JeZ+TG5cD3GQcrFB3i4gEMgmkxAtYcylVQ L1AIBZPnuLkvlpRvlvmZ/seAWBOt7WQvRKbb9lGzj2QxadWHs934UAZPPOnCTSkYdivq SFknUHQwS4y3k6ysH8wxFdyXeTes3PqpJZGhRkcg0SbbzXbU3BiSYvQhlZo1QSxF+GTp TUow== X-Gm-Message-State: AOAM532AYSG+GEpggW1hmdMkeYYw/eYBXx+EZClkhAZYy6d6RQPg1LXg Qbj/bPBUWXrMePCzLpl2tyENDci6 X-Google-Smtp-Source: ABdhPJyM7fWfeloxA0DB/k6+3/tbK96PlYDaxjV8hBaP8IAr1CbBpSa38nugO/AmZNUaGTriOD92Tg== X-Received: by 2002:a17:90a:6b08:: with SMTP id v8mr6488804pjj.162.1591111730742; Tue, 02 Jun 2020 08:28:50 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id j7sm2626736pfh.154.2020.06.02.08.28.49 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jun 2020 08:28:50 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 2 Jun 2020 23:26:52 +0800 Message-Id: <1591111618-15778-18-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> References: <1590674250-32571-1-git-send-email-lance.lmwang@gmail.com> <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v4 18/24] avcodec/mpegvideo: simplify check for av_frame_alloc 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: Limin Wang MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Limin Wang Signed-off-by: Limin Wang --- libavcodec/mpegvideo.c | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index 34dfda5..58fc850 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -941,17 +941,10 @@ av_cold int ff_mpv_common_init(MpegEncContext *s) if (!s->picture[i].f) goto fail_nomem; } - s->next_picture.f = av_frame_alloc(); - if (!s->next_picture.f) - goto fail_nomem; - s->last_picture.f = av_frame_alloc(); - if (!s->last_picture.f) - goto fail_nomem; - s->current_picture.f = av_frame_alloc(); - if (!s->current_picture.f) - goto fail_nomem; - s->new_picture.f = av_frame_alloc(); - if (!s->new_picture.f) + if (!(s->next_picture.f = av_frame_alloc()) || + !(s->last_picture.f = av_frame_alloc()) || + !(s->current_picture.f = av_frame_alloc()) || + !(s->new_picture.f = av_frame_alloc())) goto fail_nomem; if ((ret = init_context_frame(s))) From patchwork Tue Jun 2 15:26:53 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 20122 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 56E86449383 for ; Tue, 2 Jun 2020 18:28:57 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 3E7D068B310; Tue, 2 Jun 2020 18:28:57 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f65.google.com (mail-pj1-f65.google.com [209.85.216.65]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id AC9DF68B30A for ; Tue, 2 Jun 2020 18:28:55 +0300 (EEST) Received: by mail-pj1-f65.google.com with SMTP id i12so1535220pju.3 for ; Tue, 02 Jun 2020 08:28:55 -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; bh=UPzSxOHykZbpxP0fBvf7+s/Ylcrus0m2xIa7OaAXxBY=; b=sxFt4IXVdNGHAo6knjohdI15OU13ezFHdQPVMMm4DyFRAbdmZvgs20xEzBnPXWN40E 80wy+qBnY9GswpV8QA194mZpZYpNpCmb0dW4DxyHTKOW52uueeGXFOImLpw+5CDkgXgB 5OIJ+q/7CnY+OdPfoqIUA8OeEbkZWbvA/cq75FpZIp0p+iaxyBSf94+5C92HC/L60OD5 26S+8Obyti3WcucltAa7oe8nwe526Z1cBFNeImP316Nh8WEfPRmsluy+weCikgJIw/g2 AfI2IlPLHxhXvjwxiejXCKDdMUEg9ReSebMM2CPvYv0bp8JYSGd+RMs9cn0CHJN0811p tUuQ== 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; bh=UPzSxOHykZbpxP0fBvf7+s/Ylcrus0m2xIa7OaAXxBY=; b=biApUHujVkZ3wvEJdT4b1bDHXfTmVaZnvKYiHUIgKKHoXUfMxHEgN2/ZRIzg9tUrK3 nLjS6L4wUKFqoTK+HB32M82qGcQPfL/Z/xm2j5tPHqDoyAPYbJiqSjzwJ3AueX80NhHh fZ/UWM16YBNRZyn4fYuPeqWrfNlp9ewZoD1rEbmbijvQtqB+0TZiZTD4Qh3QC+91oEax 3W6AdaVwpbLAhw+x87KxZgL7GuqDRKC3t7Co2igbNEa5Fd5KhBoekqPtsyKI7GHQslFk miaX2+V4ANL3fmT1/ASSDGqy8tVAwVb/xDTkuWxpAg8+jAvGysNyS4j61XdxIH1WkPBZ tQRw== X-Gm-Message-State: AOAM5318V32ykHLtKubSXG8gqDAEFXc+y+t/cFHaY8/v00t/ra5AWrV2 mB8JTz+6ru6C86LP+5ac6ZXE4T5a X-Google-Smtp-Source: ABdhPJyWn4Wgo6D9Q+M6obYoiYK3QZuJRraZy8N0bZ3rAfAFfuejZXbTsrBLAsa5iHUjW4xWRsa7dw== X-Received: by 2002:a17:90a:e42:: with SMTP id p2mr6318343pja.53.1591111733606; Tue, 02 Jun 2020 08:28:53 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id j7sm2626736pfh.154.2020.06.02.08.28.52 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jun 2020 08:28:53 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 2 Jun 2020 23:26:53 +0800 Message-Id: <1591111618-15778-19-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> References: <1590674250-32571-1-git-send-email-lance.lmwang@gmail.com> <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v4 19/24] avcodec/mpegvideo: remove FF_ALLOCZ_ARRAY_OR_GOTO and gotos label 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: Limin Wang MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Limin Wang Signed-off-by: Limin Wang --- libavcodec/mpegvideo.c | 132 ++++++++++++++++++++++--------------------------- 1 file changed, 60 insertions(+), 72 deletions(-) diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index 58fc850..76fb381 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -372,25 +372,27 @@ static int init_duplicate_context(MpegEncContext *s) s->sc.obmc_scratchpad = NULL; if (s->encoding) { - FF_ALLOCZ_OR_GOTO(s->avctx, s->me.map, - ME_MAP_SIZE * sizeof(uint32_t), fail) - FF_ALLOCZ_OR_GOTO(s->avctx, s->me.score_map, - ME_MAP_SIZE * sizeof(uint32_t), fail) + if (!FF_ALLOCZ_TYPED_ARRAY(s->me.map, ME_MAP_SIZE) || + !FF_ALLOCZ_TYPED_ARRAY(s->me.score_map, ME_MAP_SIZE)) + return AVERROR(ENOMEM); + if (s->noise_reduction) { - FF_ALLOCZ_OR_GOTO(s->avctx, s->dct_error_sum, - 2 * 64 * sizeof(int), fail) + if (!FF_ALLOCZ_TYPED_ARRAY(s->dct_error_sum, 2 * 64)) + return AVERROR(ENOMEM); } } - FF_ALLOCZ_OR_GOTO(s->avctx, s->blocks, 64 * 12 * 2 * sizeof(int16_t), fail) + if (!FF_ALLOCZ_TYPED_ARRAY(s->blocks, 64 * 12 * 2)) + return AVERROR(ENOMEM); s->block = s->blocks[0]; for (i = 0; i < 12; i++) { s->pblocks[i] = &s->block[i]; } - FF_ALLOCZ_OR_GOTO(s->avctx, s->block32, sizeof(*s->block32), fail) + if (!(s->block32 = av_mallocz(sizeof(*s->block32))) || + !(s->dpcm_macroblock = av_mallocz(sizeof(*s->dpcm_macroblock)))) + return AVERROR(ENOMEM); s->dpcm_direction = 0; - FF_ALLOCZ_OR_GOTO(s->avctx, s->dpcm_macroblock, sizeof(*s->dpcm_macroblock), fail) if (s->avctx->codec_tag == AV_RL32("VCR2")) { // exchange uv @@ -399,16 +401,14 @@ static int init_duplicate_context(MpegEncContext *s) if (s->out_format == FMT_H263) { /* ac values */ - FF_ALLOCZ_OR_GOTO(s->avctx, s->ac_val_base, - yc_size * sizeof(int16_t) * 16, fail); + if (!FF_ALLOCZ_TYPED_ARRAY(s->ac_val_base, yc_size * 16)) + return AVERROR(ENOMEM); s->ac_val[0] = s->ac_val_base + s->b8_stride + 1; s->ac_val[1] = s->ac_val_base + y_size + s->mb_stride + 1; s->ac_val[2] = s->ac_val[1] + c_size; } return 0; -fail: - return AVERROR(ENOMEM); // free() through ff_mpv_common_end() } static void free_duplicate_context(MpegEncContext *s) @@ -715,8 +715,8 @@ static int init_context_frame(MpegEncContext *s) if (s->mb_height & 1) yc_size += 2*s->b8_stride + 2*s->mb_stride; - FF_ALLOCZ_OR_GOTO(s->avctx, s->mb_index2xy, (s->mb_num + 1) * sizeof(int), - fail); // error resilience code looks cleaner with this + if (!FF_ALLOCZ_TYPED_ARRAY(s->mb_index2xy, s->mb_num + 1)) + return AVERROR(ENOMEM); for (y = 0; y < s->mb_height; y++) for (x = 0; x < s->mb_width; x++) s->mb_index2xy[x + y * s->mb_width] = x + y * s->mb_stride; @@ -725,12 +725,13 @@ static int init_context_frame(MpegEncContext *s) if (s->encoding) { /* Allocate MV tables */ - FF_ALLOCZ_OR_GOTO(s->avctx, s->p_mv_table_base, mv_table_size * 2 * sizeof(int16_t), fail) - FF_ALLOCZ_OR_GOTO(s->avctx, s->b_forw_mv_table_base, mv_table_size * 2 * sizeof(int16_t), fail) - FF_ALLOCZ_OR_GOTO(s->avctx, s->b_back_mv_table_base, mv_table_size * 2 * sizeof(int16_t), fail) - FF_ALLOCZ_OR_GOTO(s->avctx, s->b_bidir_forw_mv_table_base, mv_table_size * 2 * sizeof(int16_t), fail) - FF_ALLOCZ_OR_GOTO(s->avctx, s->b_bidir_back_mv_table_base, mv_table_size * 2 * sizeof(int16_t), fail) - FF_ALLOCZ_OR_GOTO(s->avctx, s->b_direct_mv_table_base, mv_table_size * 2 * sizeof(int16_t), fail) + if (!FF_ALLOCZ_TYPED_ARRAY(s->p_mv_table_base, mv_table_size * 2) || + !FF_ALLOCZ_TYPED_ARRAY(s->b_forw_mv_table_base, mv_table_size * 2) || + !FF_ALLOCZ_TYPED_ARRAY(s->b_back_mv_table_base, mv_table_size * 2) || + !FF_ALLOCZ_TYPED_ARRAY(s->b_bidir_forw_mv_table_base, mv_table_size * 2) || + !FF_ALLOCZ_TYPED_ARRAY(s->b_bidir_back_mv_table_base, mv_table_size * 2) || + !FF_ALLOCZ_TYPED_ARRAY(s->b_direct_mv_table_base, mv_table_size * 2)) + return AVERROR(ENOMEM); s->p_mv_table = s->p_mv_table_base + s->mb_stride + 1; s->b_forw_mv_table = s->b_forw_mv_table_base + s->mb_stride + 1; s->b_back_mv_table = s->b_back_mv_table_base + s->mb_stride + 1; @@ -739,15 +740,11 @@ static int init_context_frame(MpegEncContext *s) s->b_direct_mv_table = s->b_direct_mv_table_base + s->mb_stride + 1; /* Allocate MB type table */ - FF_ALLOCZ_OR_GOTO(s->avctx, s->mb_type, mb_array_size * sizeof(uint16_t), fail) // needed for encoding - - FF_ALLOCZ_OR_GOTO(s->avctx, s->lambda_table, mb_array_size * sizeof(int), fail) - - FF_ALLOC_OR_GOTO(s->avctx, s->cplx_tab, - mb_array_size * sizeof(float), fail); - FF_ALLOC_OR_GOTO(s->avctx, s->bits_tab, - mb_array_size * sizeof(float), fail); - + if (!FF_ALLOCZ_TYPED_ARRAY(s->mb_type, mb_array_size) || + !FF_ALLOCZ_TYPED_ARRAY(s->lambda_table, mb_array_size) || + !FF_ALLOC_TYPED_ARRAY (s->cplx_tab, mb_array_size) || + !FF_ALLOC_TYPED_ARRAY (s->bits_tab, mb_array_size)) + return AVERROR(ENOMEM); } if (s->codec_id == AV_CODEC_ID_MPEG4 || @@ -757,34 +754,34 @@ static int init_context_frame(MpegEncContext *s) int j, k; for (j = 0; j < 2; j++) { for (k = 0; k < 2; k++) { - FF_ALLOCZ_OR_GOTO(s->avctx, - s->b_field_mv_table_base[i][j][k], - mv_table_size * 2 * sizeof(int16_t), - fail); + if (!FF_ALLOCZ_TYPED_ARRAY(s->b_field_mv_table_base[i][j][k], mv_table_size * 2)) + return AVERROR(ENOMEM); s->b_field_mv_table[i][j][k] = s->b_field_mv_table_base[i][j][k] + s->mb_stride + 1; } - FF_ALLOCZ_OR_GOTO(s->avctx, s->b_field_select_table [i][j], mb_array_size * 2 * sizeof(uint8_t), fail) - FF_ALLOCZ_OR_GOTO(s->avctx, s->p_field_mv_table_base[i][j], mv_table_size * 2 * sizeof(int16_t), fail) + if (!FF_ALLOCZ_TYPED_ARRAY(s->b_field_select_table [i][j], mv_table_size * 2) || + !FF_ALLOCZ_TYPED_ARRAY(s->p_field_mv_table_base[i][j], mv_table_size * 2)) + return AVERROR(ENOMEM); s->p_field_mv_table[i][j] = s->p_field_mv_table_base[i][j] + s->mb_stride + 1; } - FF_ALLOCZ_OR_GOTO(s->avctx, s->p_field_select_table[i], mb_array_size * 2 * sizeof(uint8_t), fail) + if (!FF_ALLOCZ_TYPED_ARRAY(s->p_field_select_table[i], mv_table_size * 2)) + return AVERROR(ENOMEM); } } if (s->out_format == FMT_H263) { - /* cbp values */ - FF_ALLOCZ_OR_GOTO(s->avctx, s->coded_block_base, y_size + (s->mb_height&1)*2*s->b8_stride, fail); + /* cbp values, cbp, ac_pred, pred_dir */ + if (!FF_ALLOCZ_TYPED_ARRAY(s->coded_block_base, y_size + (s->mb_height&1)*2*s->b8_stride) || + !FF_ALLOCZ_TYPED_ARRAY(s->cbp_table, mb_array_size) || + !FF_ALLOCZ_TYPED_ARRAY(s->pred_dir_table, mb_array_size)) + return AVERROR(ENOMEM); s->coded_block = s->coded_block_base + s->b8_stride + 1; - - /* cbp, ac_pred, pred_dir */ - FF_ALLOCZ_OR_GOTO(s->avctx, s->cbp_table , mb_array_size * sizeof(uint8_t), fail); - FF_ALLOCZ_OR_GOTO(s->avctx, s->pred_dir_table, mb_array_size * sizeof(uint8_t), fail); } if (s->h263_pred || s->h263_plus || !s->encoding) { /* dc values */ // MN: we need these for error resilience of intra-frames - FF_ALLOCZ_OR_GOTO(s->avctx, s->dc_val_base, yc_size * sizeof(int16_t), fail); + if (!FF_ALLOCZ_TYPED_ARRAY(s->dc_val_base, yc_size)) + return AVERROR(ENOMEM); s->dc_val[0] = s->dc_val_base + s->b8_stride + 1; s->dc_val[1] = s->dc_val_base + y_size + s->mb_stride + 1; s->dc_val[2] = s->dc_val[1] + c_size; @@ -792,17 +789,14 @@ static int init_context_frame(MpegEncContext *s) s->dc_val_base[i] = 1024; } - /* which mb is an intra block */ - FF_ALLOCZ_OR_GOTO(s->avctx, s->mbintra_table, mb_array_size, fail); + /* which mb is an intra block, init macroblock skip table */ + if (!FF_ALLOCZ_TYPED_ARRAY(s->mbintra_table, mb_array_size) || + // Note the + 1 is for a quicker MPEG-4 slice_end detection + !FF_ALLOCZ_TYPED_ARRAY(s->mbskip_table, mb_array_size + 2)) + return AVERROR(ENOMEM); memset(s->mbintra_table, 1, mb_array_size); - /* init macroblock skip table */ - FF_ALLOCZ_OR_GOTO(s->avctx, s->mbskip_table, mb_array_size + 2, fail); - // Note the + 1 is for a quicker MPEG-4 slice_end detection - return ff_mpeg_er_init(s); -fail: - return AVERROR(ENOMEM); } static void clear_context(MpegEncContext *s) @@ -934,21 +928,22 @@ av_cold int ff_mpv_common_init(MpegEncContext *s) if (ret) return ret; - FF_ALLOCZ_OR_GOTO(s->avctx, s->picture, - MAX_PICTURE_COUNT * sizeof(Picture), fail_nomem); + if (!FF_ALLOCZ_TYPED_ARRAY(s->picture, MAX_PICTURE_COUNT)) + return AVERROR(ENOMEM); for (i = 0; i < MAX_PICTURE_COUNT; i++) { s->picture[i].f = av_frame_alloc(); if (!s->picture[i].f) - goto fail_nomem; + return AVERROR(ENOMEM); } + if (!(s->next_picture.f = av_frame_alloc()) || !(s->last_picture.f = av_frame_alloc()) || !(s->current_picture.f = av_frame_alloc()) || !(s->new_picture.f = av_frame_alloc())) - goto fail_nomem; + return AVERROR(ENOMEM); if ((ret = init_context_frame(s))) - goto fail_nomem; + return AVERROR(ENOMEM); s->parse_context.state = -1; @@ -962,10 +957,10 @@ av_cold int ff_mpv_common_init(MpegEncContext *s) if (i) { s->thread_context[i] = av_memdup(s, sizeof(MpegEncContext)); if (!s->thread_context[i]) - goto fail_nomem; + return AVERROR(ENOMEM); } if ((ret = init_duplicate_context(s->thread_context[i])) < 0) - goto fail; + return ret; s->thread_context[i]->start_mb_y = (s->mb_height * (i) + nb_slices / 2) / nb_slices; s->thread_context[i]->end_mb_y = @@ -973,7 +968,7 @@ av_cold int ff_mpv_common_init(MpegEncContext *s) } } else { if ((ret = init_duplicate_context(s)) < 0) - goto fail; + return ret; s->start_mb_y = 0; s->end_mb_y = s->mb_height; } @@ -981,10 +976,6 @@ av_cold int ff_mpv_common_init(MpegEncContext *s) // } return 0; - fail_nomem: - ret = AVERROR(ENOMEM); - fail: - return ret; } /** @@ -1077,10 +1068,10 @@ int ff_mpv_common_frame_size_change(MpegEncContext *s) if ((s->width || s->height) && (err = av_image_check_size(s->width, s->height, 0, s->avctx)) < 0) - goto fail; + return err; if ((err = init_context_frame(s))) - goto fail; + return err; memset(s->thread_context, 0, sizeof(s->thread_context)); s->thread_context[0] = s; @@ -1092,12 +1083,11 @@ int ff_mpv_common_frame_size_change(MpegEncContext *s) if (i) { s->thread_context[i] = av_memdup(s, sizeof(MpegEncContext)); if (!s->thread_context[i]) { - err = AVERROR(ENOMEM); - goto fail; + return AVERROR(ENOMEM); } } if ((err = init_duplicate_context(s->thread_context[i])) < 0) - goto fail; + return err; s->thread_context[i]->start_mb_y = (s->mb_height * (i) + nb_slices / 2) / nb_slices; s->thread_context[i]->end_mb_y = @@ -1106,7 +1096,7 @@ int ff_mpv_common_frame_size_change(MpegEncContext *s) } else { err = init_duplicate_context(s); if (err < 0) - goto fail; + return err; s->start_mb_y = 0; s->end_mb_y = s->mb_height; } @@ -1114,8 +1104,6 @@ int ff_mpv_common_frame_size_change(MpegEncContext *s) } return 0; - fail: - return err; } /* init common structure for both encoder and decoder */ From patchwork Tue Jun 2 15:26:54 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 20123 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 17CEE449383 for ; Tue, 2 Jun 2020 18:29:00 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id F290A68B336; Tue, 2 Jun 2020 18:28:59 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pg1-f195.google.com (mail-pg1-f195.google.com [209.85.215.195]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1F03668B332 for ; Tue, 2 Jun 2020 18:28:58 +0300 (EEST) Received: by mail-pg1-f195.google.com with SMTP id p30so5215832pgl.11 for ; Tue, 02 Jun 2020 08:28:57 -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; bh=UL3bkNjVAg1IryvVSyTEmPmXxbWN5wDw+TQMBZbxK7w=; b=m/KTdfuOBEsMWuu20bBE17VOlh1ttIE/5tqObwBJD8McIMj0dnzqI7ogIVUDuy3gMs 8iJr7L5AsnwIQ0xB28nbep6uBEubtYJkLletS5fjjY9f11m0dErdf8O2iOU52xFggSvh JO1TZw/+dB7ZvIHw8XzK3XQQJntvX5l4VJEYxk1lxP2nKIvcs5elROGlgsI2aHqUCKAC 7W390UjDxY9BJghPTkUJYCMUOU3anNf4Y2GqFFpedHIqGViKbjK6EJGC1WT7U5cCCld1 7RiNZNZTaRy2lG7vQBZkFRGkXP7IKApvZe5VkhTR8qKob9hjGwT76W4fODqduMdYkqFA lINw== 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; bh=UL3bkNjVAg1IryvVSyTEmPmXxbWN5wDw+TQMBZbxK7w=; b=hS4oAuc7WbIfJSJi6v4zH+u3h/bLvqoLmPKQiZFJxElVSNdvA1ISe2AlzrlKcmi68k hgYPl6QMEztbLHW2IKw9ZVMG2yphcJktROmi74fNi/KCQHadr/LyMLwmsZzRzBhe5a7n EMVBNQyqZYi7mOs/YAaNYPTiI6ew55AAxckM3h6NsmEncIH9Wf69ETJ8E63NF+mV8rl8 2xbzbIiCf4hx92ycNuJzh4rkqvmUzoWURbcOt9GgD+KJ1Sa7as6O/iGxAzSdB757O6OU JMdiIlcfOODiymCONgFVv4rrY4OpNFvwwcJN0NIga87OtG3yP+Sz2hvSAKw3NccxXbGr YhyA== X-Gm-Message-State: AOAM530LBPp4AXwrp0nwNnR4zEJ8mjqvHUKzt7aG/y7SMNnRYcUkAQ8I mBol7+MDBNZekO8lT7PTrmbwJhrN X-Google-Smtp-Source: ABdhPJx1VQid8DKxEHleIy88rYcnZ1yt/o2Cuq/LIFrpxDc5YjQb+GEUiXEicm3/tP7yEWRKoV3vJw== X-Received: by 2002:aa7:9510:: with SMTP id b16mr26333111pfp.265.1591111736216; Tue, 02 Jun 2020 08:28:56 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id j7sm2626736pfh.154.2020.06.02.08.28.54 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jun 2020 08:28:55 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 2 Jun 2020 23:26:54 +0800 Message-Id: <1591111618-15778-20-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> References: <1590674250-32571-1-git-send-email-lance.lmwang@gmail.com> <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v4 20/24] avcodec/mpegpicture: remove FF_ALLOCZ_ARRAY_OR_GOTO and gotos label 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: Limin Wang MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Limin Wang Signed-off-by: Limin Wang --- libavcodec/mpegpicture.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/libavcodec/mpegpicture.c b/libavcodec/mpegpicture.c index be90ece..83426bb 100644 --- a/libavcodec/mpegpicture.c +++ b/libavcodec/mpegpicture.c @@ -78,19 +78,15 @@ int ff_mpeg_framesize_alloc(AVCodecContext *avctx, MotionEstContext *me, // at uvlinesize. It supports only YUV420 so 24x24 is enough // linesize * interlaced * MBsize // we also use this buffer for encoding in encode_mb_internal() needig an additional 32 lines - FF_ALLOCZ_ARRAY_OR_GOTO(avctx, sc->edge_emu_buffer, alloc_size, EMU_EDGE_HEIGHT, - fail); - - FF_ALLOCZ_ARRAY_OR_GOTO(avctx, me->scratchpad, alloc_size, 4 * 16 * 2, - fail) + if (!FF_ALLOCZ_TYPED_ARRAY(sc->edge_emu_buffer, alloc_size * EMU_EDGE_HEIGHT) || + !FF_ALLOCZ_TYPED_ARRAY(me->scratchpad, alloc_size * 4 * 16 * 2)) + return AVERROR(ENOMEM); me->temp = me->scratchpad; sc->rd_scratchpad = me->scratchpad; sc->b_scratchpad = me->scratchpad; sc->obmc_scratchpad = me->scratchpad + 16; return 0; -fail: - return AVERROR(ENOMEM); } /** From patchwork Tue Jun 2 15:26:55 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 20125 Delivered-To: andriy.gelman@gmail.com Received: by 2002:a25:bac9:0:0:0:0:0 with SMTP id a9csp3784148ybk; Tue, 2 Jun 2020 08:32:06 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwEIgMytJmVVFF0Tf6sq/KQyzUUT0EWxfxlpixAHd2lORz95dzpv1sCVBQ2UvhxMF80BUol X-Received: by 2002:a1c:5a82:: with SMTP id o124mr4555423wmb.188.1591111925974; Tue, 02 Jun 2020 08:32:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1591111925; cv=none; d=google.com; s=arc-20160816; b=eqIAMwD14N+AfKB2RX7I12EDOC9S0HFN+lC37j3yyT7WNOEwlnyPbCyPm2G+26y1VU yRsjZccF7DH/BbRMlyNsisxw7WdkABKG15lVF7FNCKKpq6yKKUoPghy9QulXMTU/n3St JeN4iEcOH4h++J0Q19M24Mob+nbcODJP9P34RXWniloAjJANXLj7mtJu/WTvd06dCDN2 GrOknD9JKxgXbJ+0sVXsnLxCo/9lBILZzGJsSfN6zh2TTZFqEXlw3wcQYapnZAMtK/7A 2K7dIo0hUcqMbBTyFzjTSSKt4a2HhC/3Um2KNmSWL317hcRo2mR5XvlPODHZjStpELe+ XD7w== 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:cc: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; bh=6V+fIBx5dNRxWcWpg3zMlaaPWlRc3Db5Wg0RWZglfIc=; b=VTyfie5uTYYmVyS6kQgVMsFr+Fy4S8pW2L6cHwYpTBUdSTYh+t4fxWH+xKyXVap2qp EE9T+O1ajkLSnnUa+clhFk8l0mlhE6guqusJXx+fUj/xzN30aRYd5djI/uOJ+JJnADhc QWBrZQm0gvCCuuHXdGjJgP05NKHJzDk3yAwSMnIA6t//YyNMav2D50eJ+fHRHFPKsirY T9U5ujpy765NRKVhEe9D1vOV3d7gKrXXq+p96JQivKrbj2U1giW7OHEZ5bLidNIauz42 /Mr7JgsTdrryVYqHQQr2nF1TLRNaC2uBmAwMVou2Xw32Dj6XSRvoSd89KZf4L2DGFseQ RAlg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=Uj9EP8fv; 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 d9si48379wmc.149.2020.06.02.08.32.05; Tue, 02 Jun 2020 08:32:05 -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=Uj9EP8fv; 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 5A3E468B2AB; Tue, 2 Jun 2020 18:29:03 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf1-f196.google.com (mail-pf1-f196.google.com [209.85.210.196]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4F75168B36D for ; Tue, 2 Jun 2020 18:29:01 +0300 (EEST) Received: by mail-pf1-f196.google.com with SMTP id 64so5191360pfg.8 for ; Tue, 02 Jun 2020 08:29:01 -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; bh=YzfuJULoqnTA7AUQ0sWG4dqn/X14r9hIgXS9Xre02ng=; b=Uj9EP8fvnssfRllAW3zYR3pKD4fFktFVQMrdEnV6jIdUs52hbuWu27onW+sdbsGYNd mmbaf25ekHjt7zcbQFzZUh4HwwfuNWc9yKlNFr6f4oDkkcELyERr2Qu9/P7Km8FeR9n7 q2zUrL9+zcNdBy5GNLMEhAccmxMFvoAN7MQKVywB7c8/zSIviFcaFCcA78O2lFCM/LT/ HbHdw+OoOutyHLughCfHsUjFn0ce3EU1QFZXnK/U83YNm/62e+7zkjs5cO0nlRjBThY+ MDM2XaeW4bNS1lhI79FGIiLcCz3J62LNCwV+3XIdYKYIFCnofZp+k+TXbCs6P5JtCP4h 4wIw== 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; bh=YzfuJULoqnTA7AUQ0sWG4dqn/X14r9hIgXS9Xre02ng=; b=rvoOJVfW1CRQAahyz/SnnsgnAyOLJ/fPalaM7Xzmf9Xy5dezDcpUGQDWGh83vkYF5e cvhlMRoZ9elNvmn7w9HxW8TM+5NRRuthL8FBQrygw48fppAVy1V8egvaL29L44ldj6+p TPYDfYpG+mo/mtRyAMidADcYu14tRR3uCn1prdXz+79oAIDtfCxpkVCJC1zPzwOtBfh0 a05CiR5kdvg6sRfWaruqz9Qioeip/rku6kfwO9SDlYvedO2COqADDEcbZoI1kF3L7Quy TPrTER58oTNsvSVfdJkO8mTDdYUaBpBDjr9MnteTmJCZH7Dk5dA2zehLlivwg5HZb7sB DIEw== X-Gm-Message-State: AOAM530pLnqb25ZnA48e0OWDJUOKZooKy+hmySPpWMxaNfOUyLew2Ut2 MQ25EkHBbd1Ug9kIEP7aEzxP1vhN X-Received: by 2002:aa7:8a4c:: with SMTP id n12mr11038180pfa.326.1591111739281; Tue, 02 Jun 2020 08:28:59 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id j7sm2626736pfh.154.2020.06.02.08.28.57 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jun 2020 08:28:58 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 2 Jun 2020 23:26:55 +0800 Message-Id: <1591111618-15778-21-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> References: <1590674250-32571-1-git-send-email-lance.lmwang@gmail.com> <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v4 21/24] avcodec/mpegvideo_enc: remove FF_ALLOCZ_ARRAY_OR_GOTO and gotos lable 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: Limin Wang MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: W/kO22JPjlel Content-Length: 4341 From: Limin Wang Signed-off-by: Limin Wang --- libavcodec/mpegvideo_enc.c | 34 +++++++++++++++------------------- 1 file changed, 15 insertions(+), 19 deletions(-) diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c index 5a499fb..eba041f 100644 --- a/libavcodec/mpegvideo_enc.c +++ b/libavcodec/mpegvideo_enc.c @@ -924,27 +924,25 @@ FF_ENABLE_DEPRECATION_WARNINGS ff_qpeldsp_init(&s->qdsp); if (s->msmpeg4_version) { - FF_ALLOCZ_OR_GOTO(s->avctx, s->ac_stats, - 2 * 2 * (MAX_LEVEL + 1) * - (MAX_RUN + 1) * 2 * sizeof(int), fail); + int ac_stats_size = 2 * 2 * (MAX_LEVEL + 1) * (MAX_RUN + 1) * 2 * sizeof(int); + if (!(s->ac_stats = av_mallocz(ac_stats_size))) + return AVERROR(ENOMEM); } - FF_ALLOCZ_OR_GOTO(s->avctx, s->avctx->stats_out, 256, fail); - - FF_ALLOCZ_OR_GOTO(s->avctx, s->q_intra_matrix, 64 * 32 * sizeof(int), fail); - FF_ALLOCZ_OR_GOTO(s->avctx, s->q_chroma_intra_matrix, 64 * 32 * sizeof(int), fail); - FF_ALLOCZ_OR_GOTO(s->avctx, s->q_inter_matrix, 64 * 32 * sizeof(int), fail); - FF_ALLOCZ_OR_GOTO(s->avctx, s->q_intra_matrix16, 64 * 32 * 2 * sizeof(uint16_t), fail); - FF_ALLOCZ_OR_GOTO(s->avctx, s->q_chroma_intra_matrix16, 64 * 32 * 2 * sizeof(uint16_t), fail); - FF_ALLOCZ_OR_GOTO(s->avctx, s->q_inter_matrix16, 64 * 32 * 2 * sizeof(uint16_t), fail); - FF_ALLOCZ_OR_GOTO(s->avctx, s->input_picture, - MAX_PICTURE_COUNT * sizeof(Picture *), fail); - FF_ALLOCZ_OR_GOTO(s->avctx, s->reordered_input_picture, - MAX_PICTURE_COUNT * sizeof(Picture *), fail); + if (!(s->avctx->stats_out = av_mallocz(256)) || + !FF_ALLOCZ_TYPED_ARRAY(s->q_intra_matrix, 64 * 32) || + !FF_ALLOCZ_TYPED_ARRAY(s->q_chroma_intra_matrix, 64 * 32) || + !FF_ALLOCZ_TYPED_ARRAY(s->q_inter_matrix, 64 * 32) || + !FF_ALLOCZ_TYPED_ARRAY(s->q_intra_matrix16, 64 * 32 * 2) || + !FF_ALLOCZ_TYPED_ARRAY(s->q_chroma_intra_matrix16, 64 * 32 * 2) || + !FF_ALLOCZ_TYPED_ARRAY(s->q_inter_matrix16, 64 * 32 * 2) || + !FF_ALLOCZ_TYPED_ARRAY(s->input_picture, MAX_PICTURE_COUNT) || + !FF_ALLOCZ_TYPED_ARRAY(s->reordered_input_picture, MAX_PICTURE_COUNT)) + return AVERROR(ENOMEM); if (s->noise_reduction) { - FF_ALLOCZ_OR_GOTO(s->avctx, s->dct_offset, - 2 * 64 * sizeof(uint16_t), fail); + if (!FF_ALLOCZ_TYPED_ARRAY(s->dct_offset, 2 * 64)) + return AVERROR(ENOMEM); } ff_dct_encode_init(s); @@ -1059,8 +1057,6 @@ FF_ENABLE_DEPRECATION_WARNINGS cpb_props->buffer_size = avctx->rc_buffer_size; return 0; -fail: - return AVERROR_UNKNOWN; } av_cold int ff_mpv_encode_end(AVCodecContext *avctx) From patchwork Tue Jun 2 15:26:56 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 20126 Delivered-To: andriy.gelman@gmail.com Received: by 2002:a25:bac9:0:0:0:0:0 with SMTP id a9csp3784276ybk; Tue, 2 Jun 2020 08:32:18 -0700 (PDT) X-Google-Smtp-Source: ABdhPJznTWSU/YRf7FeA2ssOvI+fMFOCrCPt6+6Asb+KQRi/HY+vjIjg790n7X3VuuyKd0H9HNfP X-Received: by 2002:adf:f812:: with SMTP id s18mr18105266wrp.28.1591111938740; Tue, 02 Jun 2020 08:32:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1591111938; cv=none; d=google.com; s=arc-20160816; b=V+St9oPOJHqB0TxAjcLIp9af5ZZu3d2u2aSjTh5p8nUNZBaOWnvZQUlvYSWm4L4XTf KFrelYYtt/GTm67HafmxUEH6zZrFsvNgxqlOUr11iyTybKAPs8CA6QGuDY59bl6Ro+k6 yqfDC7rYp7NWv5ir1cxtMVgYZIKwDB6UB/s1yeK/1cC9nk4NuRtr7SxTtKfFG5ET2DJi gaNT6/EyfhT2P2BMA8dHyfiezru/8/DhZ9Fbh3jC1dqIfZApSt3P3l50RItarxUl0qlb 8L+hlk+jQ9D7FMNsPVogjaNeVg+d90IyVexKdxOwSaV1IiJ2dfTb0dk6yFUKHa7KWznL IbrA== 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:cc: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; bh=DfIB+iSDeFi3KeYJK6vPsO/ZDd0tB4V3IeGuWJp7wXQ=; b=Z5xh+C2x5bnL1jEvo/dYF/446wWtV9nSbDpxNbUeupH5ZDD9nTyNjt5X20j46NG5cw pZXcxcQD3ZhmwqMq4U6lhlNEcgQFR2MRPhlC7AZ8CQIr2TbSV9/zYX23W6uRcSc8/vP4 R3vU+UMsY5BHiEiCxVeNuv103eco9uQxwU4vGuk0VfygToDff5a2YC01ALJzOTbPqstG T8ZqHXjeia1vyLprU5/PRZ6z+AuXPYgd8kEKMNLno154ahnHWP9iRbKaXfyNFzinTZgt 5sgmIba/MTO5Uds9q85iIUjdJUFo39YV2FPCXClVUNDZXwLcDV2G3Mt+HEmEF7QLHnfB 52Yg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=gGF9TGlF; 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 l10si2679211wrc.212.2020.06.02.08.32.18; Tue, 02 Jun 2020 08:32:18 -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=gGF9TGlF; 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 3AAD568B3C7; Tue, 2 Jun 2020 18:29:06 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pg1-f194.google.com (mail-pg1-f194.google.com [209.85.215.194]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 0303B68B38E for ; Tue, 2 Jun 2020 18:29:03 +0300 (EEST) Received: by mail-pg1-f194.google.com with SMTP id 185so5220009pgb.10 for ; Tue, 02 Jun 2020 08:29:03 -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; bh=1pG2D+PCD3AtixNJYXQ7HuLt5rtuax01qh1wrt4jmto=; b=gGF9TGlF52p74UrfVgT/ZiUaGFeSvofgv6yQJaDjCJdVHiaELKhP6fmuUiJc4Zbdfq BJ5g7IV/eD15B/msaOq63+mx/6SmG/pQpd2dZXmpO47ZiKAlFzEBu2acJTmDsmyoEFvx wgv003DMd57s8BmDqMGiA9k6JOtcaxMwUt96/UbxdMPM4DpMndVjjaAwE7iYc8cpYsM9 a8LE2yaj6YWHGzvLLEfFohi4DUIDx8rx7VckHBnh6RwhpnnLLcI2Jc8S/vViFRe5AzYz /UnnR7EqzoYzyFdH8cJrOvxKEHpcBBtssTsrQHehqszJ33ZJtKoydU3txGUeLRgw/eKQ rYFw== 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; bh=1pG2D+PCD3AtixNJYXQ7HuLt5rtuax01qh1wrt4jmto=; b=k5BxvleqIiqKJKS/xIQqhfhSqOC75innLHHLL07b2sRkOnAbV4hek9epMwHnyLt7dk cVqIvxmaIMoBOEFxzC3eN0IwWHTvwcD29N4IR4cAtFJ6Cobr5jaotSBCdupXwVypEFvw JdG7jr8/NthBgs0OY20z3cKDsJSH3Ur29OQXH2n2KBA/v7aFPB7DrT8j1HhPwxbPE9XU 7O05kx9ducAnUUMRZSt+peAnxC7Dd0rueP00SNGB+BbY+suolfwwoGF1VBt1JXMxxTtV kQDpNP4rh67lJUDlcL3JUZ1LnATNdD4/V/9GxmCP2KGkYlIT0mvzlBmNXSWtBXdgeGfE Wnfg== X-Gm-Message-State: AOAM532R4HAkF01dy+x3HXfnR/15v8jgXX63iWazsJEU6a1vLKQLOHRH 0HZzxDMCUFAHAvsj0Oh+1aitNxxE X-Received: by 2002:a62:7707:: with SMTP id s7mr26658360pfc.90.1591111741852; Tue, 02 Jun 2020 08:29:01 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id j7sm2626736pfh.154.2020.06.02.08.29.00 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jun 2020 08:29:01 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 2 Jun 2020 23:26:56 +0800 Message-Id: <1591111618-15778-22-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> References: <1590674250-32571-1-git-send-email-lance.lmwang@gmail.com> <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v4 22/24] avcodec/alac: remove FF_ALLOC_OR_GOTO and gotos label 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: Limin Wang MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: WwsOlgHOI5RI Content-Length: 2744 From: Limin Wang Signed-off-by: Limin Wang --- libavcodec/alac.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/libavcodec/alac.c b/libavcodec/alac.c index 3b41373..bf05406 100644 --- a/libavcodec/alac.c +++ b/libavcodec/alac.c @@ -489,6 +489,7 @@ static int allocate_buffers(ALACContext *alac) { int ch; unsigned buf_size = alac->max_samples_per_frame * sizeof(int32_t); + unsigned extra_buf_size = buf_size + AV_INPUT_BUFFER_PADDING_SIZE; for (ch = 0; ch < 2; ch++) { alac->predict_error_buffer[ch] = NULL; @@ -497,21 +498,19 @@ static int allocate_buffers(ALACContext *alac) } for (ch = 0; ch < FFMIN(alac->channels, 2); ch++) { - FF_ALLOC_OR_GOTO(alac->avctx, alac->predict_error_buffer[ch], - buf_size, buf_alloc_fail); + if (!(alac->predict_error_buffer[ch] = av_malloc(buf_size))) + return AVERROR(ENOMEM); alac->direct_output = alac->sample_size > 16; if (!alac->direct_output) { - FF_ALLOC_OR_GOTO(alac->avctx, alac->output_samples_buffer[ch], - buf_size + AV_INPUT_BUFFER_PADDING_SIZE, buf_alloc_fail); + if (!(alac->output_samples_buffer[ch] = av_malloc(extra_buf_size))) + return AVERROR(ENOMEM); } - FF_ALLOC_OR_GOTO(alac->avctx, alac->extra_bits_buffer[ch], - buf_size + AV_INPUT_BUFFER_PADDING_SIZE, buf_alloc_fail); + if (!(alac->extra_bits_buffer[ch] = av_malloc(extra_buf_size))) + return AVERROR(ENOMEM); } return 0; -buf_alloc_fail: - return AVERROR(ENOMEM); } static int alac_set_info(ALACContext *alac) From patchwork Tue Jun 2 15:26:57 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 20124 Delivered-To: andriy.gelman@gmail.com Received: by 2002:a25:bac9:0:0:0:0:0 with SMTP id a9csp3784459ybk; Tue, 2 Jun 2020 08:32:32 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx2Ajs5NB/ff1vt4FKC5LfK2oP+bWZXOXimzXcr76F47zd3vHXJWBS4Le37yokqZ0jyNNDV X-Received: by 2002:a05:6000:1083:: with SMTP id y3mr25925676wrw.425.1591111952299; Tue, 02 Jun 2020 08:32:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1591111952; cv=none; d=google.com; s=arc-20160816; b=VVmHZSAiAUC3lnWuAmFXPGKHcmYgaPw9piVrJXnshG/UFewkZyfD/g4++3Y7pq1Z2t yXpTUpRcrXx+BhdKg7LKzdaAfFvx9w8bwYcrAbxzz4XlAiRdvIVHZUTIK3RV1H1NznTS V8u37ipJ9ED9kiigp0DeME2Hjv3tQGH21x+dGlQGmpW0d+eCkCQbASYxDWWp2uYYxC1z 4CbVK4rdJD14mQ5yfT7+ieQ0Wj/bgVjW/4TL0+ItBvzAV7mUcNFoNCOe0J/hGIcAQXkU onOIU5X4zE6eKPSSUPDGq3VPs0vZFp2kcy9a8ZgajhZS9Kv/frfKcCptfeKPQydHCpKA cJ/g== 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:cc: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; bh=/x9KLTT9TtAMJgTmmBWDJqtTKZK7I2KvXaLt9RkG+JU=; b=KkOPnsHhAMIPXdecml0gP+CwRIqSDlDrCsdE838ubufBR09zE4GmF1y5oRyn83BG5q WB66WEthBiZM0Jm43GgbIVfgZ2i7+GUVDztd1EdmJXTzHt+QlWDKLUpozqQ4PUGN7dpf tvP8rnRhQIMNT6WZQtnJomvNWBjAug5YLCpZIqGjaDa00yhOr9dhovpIz2Fah4cEK4FX RSFedvqKIG3XvCPDBlyf/zslz5804WwA2IM7RvltAPCtcAOJcYD1nCFPwvaqbbWoAXR8 3xNmWb+LGQZiGsu9/v45iJ5jo80whGxo5jJfcvT1f4ij0r/obY6oYTuwKXgpdz4X+G2l ECwA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=lLwvhErs; 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 i4si2468484wrw.255.2020.06.02.08.32.31; Tue, 02 Jun 2020 08:32:32 -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=lLwvhErs; 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 1E01168B3CA; Tue, 2 Jun 2020 18:29:09 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pl1-f193.google.com (mail-pl1-f193.google.com [209.85.214.193]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B925068B035 for ; Tue, 2 Jun 2020 18:29:06 +0300 (EEST) Received: by mail-pl1-f193.google.com with SMTP id m7so1481458plt.5 for ; Tue, 02 Jun 2020 08:29: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; bh=L1lo+r0JWSXY1uPa3AVIhEm+F1YHtVod8TVsYsJUDMY=; b=lLwvhErs57cWL3y+oCzTqqIFHqW1k92ohmtUfdJSZdZlGw3Oc57WYwhAJe5qd2bxuA IzOg9EwiCx8q/aanft9ayFgZaLJ2QyODpSPCS4NtVXeedKWpumn6jkvbkDzfib+ICLJ+ 9i8wl74U3xuIxVZ/rjMUapaZIRbycROtQf68MBdKu58CC3a+EfKHMM0i5mYmu2+7q6pU zLiVaYfFGJ3wxGoiFDFWfwUOQ7uoMdaFXLaIAVEjSZH34TebjXZyDj9qemR6ecPzd1vD 8mF+aKjYZ7IUrqCVzbHkk6Ul5T1SyTisP1wEsiJAJ0YkvZcD6C25aY2tQ6nrXwhWv0ym u+Zw== 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; bh=L1lo+r0JWSXY1uPa3AVIhEm+F1YHtVod8TVsYsJUDMY=; b=FzxexD7FnpW0ckh61quQCIiyEgmG+Vnay2i/diORxzZwC1MibxKa5ZwKmKMJSfI/nj 91d2+kqjgNRwslmaBNeFtQaQGp4MYxb0aMKgEp7NSHFvXotbBh69DithU8YeI1bXAYji Y02EjQpmXA4E2/l4pR5P7FwxCBde5UX61cI0A/8T1Uqb+fSgeShF+iERhNk4jeg/v+m3 LMi7+fKIISv2i5s+kDvrHlLHfZSI+unr1oJKW6wk6wgUPSygWtozk5i30q/d6p2bNB3z +Sv8Oy3tMGury9ZU8b4bBDtG/71Raieo1lsMY/eDYX/31x7qcIQeyOzkCu0qIGdDNg1W TgDw== X-Gm-Message-State: AOAM530/TdC5RElILnNKoTrZDnD+O+h7S0n2FG908F6jaPo2HTjlbMxp UStTcrVvsKMXMSK1p2Xvl0EWqDIc X-Received: by 2002:a17:902:aa01:: with SMTP id be1mr25155331plb.63.1591111744780; Tue, 02 Jun 2020 08:29:04 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id j7sm2626736pfh.154.2020.06.02.08.29.03 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jun 2020 08:29:04 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 2 Jun 2020 23:26:57 +0800 Message-Id: <1591111618-15778-23-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> References: <1590674250-32571-1-git-send-email-lance.lmwang@gmail.com> <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v4 23/24] swscale/utils: remove FF_ALLOC_ARRAY_OR_GOTO macros 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: Limin Wang MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 3C3yMUX6Na/Z Content-Length: 9861 From: Limin Wang Signed-off-by: Limin Wang --- libswscale/utils.c | 55 +++++++++++++++++++++++++++++++----------------------- 1 file changed, 32 insertions(+), 23 deletions(-) diff --git a/libswscale/utils.c b/libswscale/utils.c index 111062e..961750e 100644 --- a/libswscale/utils.c +++ b/libswscale/utils.c @@ -352,13 +352,14 @@ static av_cold int initFilter(int16_t **outFilter, int32_t **filterPos, emms_c(); // FIXME should not be required but IS (even for non-MMX versions) // NOTE: the +3 is for the MMX(+1) / SSE(+3) scaler which reads over the end - FF_ALLOC_ARRAY_OR_GOTO(NULL, *filterPos, (dstW + 3), sizeof(**filterPos), fail); + if (!FF_ALLOC_TYPED_ARRAY(*filterPos, dstW + 3)) + goto nomem; if (FFABS(xInc - 0x10000) < 10 && srcPos == dstPos) { // unscaled int i; filterSize = 1; - FF_ALLOCZ_ARRAY_OR_GOTO(NULL, filter, - dstW, sizeof(*filter) * filterSize, fail); + if (!FF_ALLOCZ_TYPED_ARRAY(filter, dstW * filterSize)) + goto nomem; for (i = 0; i < dstW; i++) { filter[i * filterSize] = fone; @@ -368,8 +369,8 @@ static av_cold int initFilter(int16_t **outFilter, int32_t **filterPos, int i; int64_t xDstInSrc; filterSize = 1; - FF_ALLOC_ARRAY_OR_GOTO(NULL, filter, - dstW, sizeof(*filter) * filterSize, fail); + if (!FF_ALLOC_TYPED_ARRAY(filter, dstW * filterSize)) + goto nomem; xDstInSrc = ((dstPos*(int64_t)xInc)>>8) - ((srcPos*0x8000LL)>>7); for (i = 0; i < dstW; i++) { @@ -384,8 +385,8 @@ static av_cold int initFilter(int16_t **outFilter, int32_t **filterPos, int i; int64_t xDstInSrc; filterSize = 2; - FF_ALLOC_ARRAY_OR_GOTO(NULL, filter, - dstW, sizeof(*filter) * filterSize, fail); + if (!FF_ALLOC_TYPED_ARRAY(filter, dstW * filterSize)) + goto nomem; xDstInSrc = ((dstPos*(int64_t)xInc)>>8) - ((srcPos*0x8000LL)>>7); for (i = 0; i < dstW; i++) { @@ -425,9 +426,8 @@ static av_cold int initFilter(int16_t **outFilter, int32_t **filterPos, filterSize = FFMIN(filterSize, srcW - 2); filterSize = FFMAX(filterSize, 1); - FF_ALLOC_ARRAY_OR_GOTO(NULL, filter, - dstW, sizeof(*filter) * filterSize, fail); - + if (!FF_ALLOC_TYPED_ARRAY(filter, dstW * filterSize)) + goto nomem; xDstInSrc = ((dstPos*(int64_t)xInc)>>7) - ((srcPos*0x10000LL)>>7); for (i = 0; i < dstW; i++) { int xx = (xDstInSrc - (filterSize - 2) * (1LL<<16)) / (1 << 17); @@ -525,8 +525,8 @@ static av_cold int initFilter(int16_t **outFilter, int32_t **filterPos, if (dstFilter) filter2Size += dstFilter->length - 1; av_assert0(filter2Size > 0); - FF_ALLOCZ_ARRAY_OR_GOTO(NULL, filter2, dstW, filter2Size * sizeof(*filter2), fail); - + if (!FF_ALLOCZ_TYPED_ARRAY(filter2, dstW * filter2Size)) + goto nomem; for (i = 0; i < dstW; i++) { int j, k; @@ -684,8 +684,8 @@ static av_cold int initFilter(int16_t **outFilter, int32_t **filterPos, // Note the +1 is for the MMX scaler which reads over the end /* align at 16 for AltiVec (needed by hScale_altivec_real) */ - FF_ALLOCZ_ARRAY_OR_GOTO(NULL, *outFilter, - (dstW + 3), *outFilterSize * sizeof(int16_t), fail); + if (!FF_ALLOCZ_TYPED_ARRAY(*outFilter, *outFilterSize * (dstW + 3))) + goto nomem; /* normalize & store in outFilter */ for (i = 0; i < dstW; i++) { @@ -721,10 +721,13 @@ static av_cold int initFilter(int16_t **outFilter, int32_t **filterPos, } ret = 0; - + goto done; +nomem: + ret = AVERROR(ENOMEM); fail: if(ret < 0) av_log(NULL, ret == RETCODE_USE_CASCADE ? AV_LOG_DEBUG : AV_LOG_ERROR, "sws: initFilter failed\n"); +done: av_free(filter); av_free(filter2); return ret; @@ -1417,7 +1420,8 @@ av_cold int sws_init_context(SwsContext *c, SwsFilter *srcFilter, c->chrDstW = AV_CEIL_RSHIFT(dstW, c->chrDstHSubSample); c->chrDstH = AV_CEIL_RSHIFT(dstH, c->chrDstVSubSample); - FF_ALLOCZ_OR_GOTO(c, c->formatConvBuffer, FFALIGN(srcW*2+78, 16) * 2, fail); + if (!FF_ALLOCZ_TYPED_ARRAY(c->formatConvBuffer, FFALIGN(srcW * 2 + 78, 16) * 2)) + goto nomem; c->srcBpc = desc_src->comp[0].depth; if (c->srcBpc < 8) @@ -1657,10 +1661,11 @@ av_cold int sws_init_context(SwsContext *c, SwsFilter *srcFilter, return AVERROR(ENOMEM); } - FF_ALLOCZ_OR_GOTO(c, c->hLumFilter, (dstW / 8 + 8) * sizeof(int16_t), fail); - FF_ALLOCZ_OR_GOTO(c, c->hChrFilter, (c->chrDstW / 4 + 8) * sizeof(int16_t), fail); - FF_ALLOCZ_OR_GOTO(c, c->hLumFilterPos, (dstW / 2 / 8 + 8) * sizeof(int32_t), fail); - FF_ALLOCZ_OR_GOTO(c, c->hChrFilterPos, (c->chrDstW / 2 / 4 + 8) * sizeof(int32_t), fail); + if (!FF_ALLOCZ_TYPED_ARRAY(c->hLumFilter, dstW / 8 + 8) || + !FF_ALLOCZ_TYPED_ARRAY(c->hChrFilter, c->chrDstW / 4 + 8) || + !FF_ALLOCZ_TYPED_ARRAY(c->hLumFilterPos, dstW / 2 / 8 + 8) || + !FF_ALLOCZ_TYPED_ARRAY(c->hChrFilterPos, c->chrDstW / 2 / 4 + 8)) + goto nomem; ff_init_hscaler_mmxext( dstW, c->lumXInc, c->lumMmxextFilterCode, c->hLumFilter, (uint32_t*)c->hLumFilterPos, 8); @@ -1728,8 +1733,9 @@ av_cold int sws_init_context(SwsContext *c, SwsFilter *srcFilter, goto fail; #if HAVE_ALTIVEC - FF_ALLOC_OR_GOTO(c, c->vYCoeffsBank, sizeof(vector signed short) * c->vLumFilterSize * c->dstH, fail); - FF_ALLOC_OR_GOTO(c, c->vCCoeffsBank, sizeof(vector signed short) * c->vChrFilterSize * c->chrDstH, fail); + if (!FF_ALLOC_TYPED_ARRAY(c->vYCoeffsBank, c->vLumFilterSize * c->dstH) || + !FF_ALLOC_TYPED_ARRAY(c->vCCoeffsBank, c->vChrFilterSize * c->chrDstH)) + goto nomem; for (i = 0; i < c->vLumFilterSize * c->dstH; i++) { int j; @@ -1748,7 +1754,8 @@ av_cold int sws_init_context(SwsContext *c, SwsFilter *srcFilter, } for (i = 0; i < 4; i++) - FF_ALLOCZ_OR_GOTO(c, c->dither_error[i], (c->dstW+2) * sizeof(int), fail); + if (!FF_ALLOCZ_TYPED_ARRAY(c->dither_error[i], c->dstW + 2)) + goto nomem; c->needAlpha = (CONFIG_SWSCALE_ALPHA && isALPHA(c->srcFormat) && isALPHA(c->dstFormat)) ? 1 : 0; @@ -1838,6 +1845,8 @@ av_cold int sws_init_context(SwsContext *c, SwsFilter *srcFilter, c->swscale = ff_getSwsFunc(c); return ff_init_filters(c); +nomem: + ret = AVERROR(ENOMEM); fail: // FIXME replace things by appropriate error codes if (ret == RETCODE_USE_CASCADE) { int tmpW = sqrt(srcW * (int64_t)dstW); From patchwork Tue Jun 2 15:26:58 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 20127 Delivered-To: andriy.gelman@gmail.com Received: by 2002:a25:bac9:0:0:0:0:0 with SMTP id a9csp3784610ybk; Tue, 2 Jun 2020 08:32:44 -0700 (PDT) X-Google-Smtp-Source: ABdhPJznDMiy5tdTb8HP+WFaOzoNT/IkeYtxLvJ0M2NT7XcQntq9jqBdKWcNsihet9UCn3CS7W5R X-Received: by 2002:a1c:2943:: with SMTP id p64mr4505779wmp.42.1591111964519; Tue, 02 Jun 2020 08:32:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1591111964; cv=none; d=google.com; s=arc-20160816; b=EPsyHgltJ6SHPgknClcJxSo9aISpDLsXaaQs/jXFhlpp3SrSfJjABuT5w2GyxhXI0H dvdxVB9dP/KqrDYkt6pSGxWG7vNC/5a4QlM01Jgg/jvWQBu4C98g44akP2VBolnSBiJ9 OEH58uuqHLle2oOvGCQ87Pg4t3Xwl4XVUysLQ6yqbsqMfgI2VDyMlZRfQw6T4qaEoHmz jGAPI+sB63nYSGj4e3NewiP50x6J1J6K9y/FEVcIgrb96RISy2SHn7p1WPSZfmIbEV4i htCDJJw/tX5O5ryEUcQtVDCFHoUi2W0EBR93iYAJELkgTqAfagnCi+aV0kffFuNwFU3P Y60A== 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:cc: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; bh=dqTfBm9OsRcOkl2oPQVlyEdmKMw+SZ6uwKKAlQMoU0w=; b=fSJ+IjnndrGFOcMqmEvAv50dQ188nWeq6Gt2Y2tet/RlJfy+6YOgzy+3q7p4bIx7vw J6OKf60JbSAWP//GiQvUaWwJu6hDxy+1Wcni5YDGe8SJwmGJp8qhlPMf6XrqcSxinSNN mjVmMW0yJPHhF+VuIYb4u3ge/RK4FX+yNKU08dMgEcfnxzaulzdzX1MppbPWaabaGpQw aEZz97pU+wHHauX7tRI4p5N1HG3nHoYFnFMFRecQiB/NYF1Suj4CnRwaQIN6a7ET0Z/b 3ElDSlSgARG8xQ2/VHltPtvCADjkW+rgqBr2jBn71PRM1TqgV4IrDJv0DVU/inLbWVKC 2AsA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=PyEotVdp; 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 a15si2772140wra.248.2020.06.02.08.32.44; Tue, 02 Jun 2020 08:32:44 -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=PyEotVdp; 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 D150468B40E; Tue, 2 Jun 2020 18:29:10 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf1-f169.google.com (mail-pf1-f169.google.com [209.85.210.169]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6390768B3E7 for ; Tue, 2 Jun 2020 18:29:09 +0300 (EEST) Received: by mail-pf1-f169.google.com with SMTP id x207so3315605pfc.5 for ; Tue, 02 Jun 2020 08:29: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; bh=OtHO1jZwI7DwfdT0BWuT8ZsZczyCPzXSK8QsyqKptzo=; b=PyEotVdpu692Xslmy8ptrd9yoiMryncy/KEt6Xqrlf8K8WEHOBlYOoJS3fkLaPO5BN ws5uiCr4nmX9/rJrgfTjiu9PhNW7KYAtJ6IgvW+acF/bDDQy0aElJtT+78gF0t7Gozas op55JTmhvWK5Ggz2bU9frLLucEMkruwoadZNjbK3yX8ypNRLR7mHpEvEc8ldrGZfeN5s RdwoprQDkKVKP9FgIDGbD6bCPlMB+uL9r4Ccxw+RdCPbKZzo/h9t8TA0fg6KwDtRDVnl uULXcg6qSvBfVGxhFA8u20VI+mKX4gtznTxDey/VEpgu74OjyZyD7kzPBlL+wWLGtnjY ApKQ== 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; bh=OtHO1jZwI7DwfdT0BWuT8ZsZczyCPzXSK8QsyqKptzo=; b=bFQaEe6z99fxq2SuI2TLPRaQ0vpl29IgNWtHyBeXbvPikSn2ffstVQgVhSAc13dvac oyMEFfxrbLODV3m1Z0FI9eWYiy1x7RM7BO1LngtDJyPtpi4jYRiqayWeYmWVPMyyvLGY vdgjtFsGQ1B93ToDq+tkDmYaak9rN2EtfP/249BZG2kjfPKf44H6JwgzMrOwmzhv5WhN xTyjNoWibLmycXApAkS+SQPe/WbWJnKHCxS2pCOpnbyZ7yQsBhOgHSzf7gF6FdjY7Pkn 0c4SwGNRKnAuEmhaKLtMky6HaYuXAUJPZ7G/lFX/fLa11Sl3CnLk30yyAQXvLJKMxghh E0OA== X-Gm-Message-State: AOAM532cy6m6jqpFbGFmcGrRP7By0dcgWM1dfhErt+zcITBdL9Jn3NE0 jzzR16uPsHjgRFTY74T3vPWxQbrd X-Received: by 2002:aa7:8084:: with SMTP id v4mr26693666pff.211.1591111747344; Tue, 02 Jun 2020 08:29:07 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id j7sm2626736pfh.154.2020.06.02.08.29.06 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jun 2020 08:29:06 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 2 Jun 2020 23:26:58 +0800 Message-Id: <1591111618-15778-24-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> References: <1590674250-32571-1-git-send-email-lance.lmwang@gmail.com> <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v4 24/24] avutil/internal: remove FF_ALLOCx{_ARRAY}_OR_GOTO macros 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: Limin Wang MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 40Nwhu5Wu2hV Content-Length: 2939 From: Limin Wang Nicolas George comments for the macros: These functions have a terrible design, let us fix them before extending them. First design mistake: no error code. A helper function for testing memory allocation failure where AVERROR(ENOMEM) does not appear is absurd. Second design mistake: printing a message. Return the error code, let the caller print the error message. Third design mistake: hard-coded use of goto. http://ffmpeg.org/pipermail/ffmpeg-devel/2020-May/262544.html Signed-off-by: Limin Wang --- libavutil/internal.h | 36 ------------------------------------ 1 file changed, 36 deletions(-) diff --git a/libavutil/internal.h b/libavutil/internal.h index 00f1a57..b87cc6d 100644 --- a/libavutil/internal.h +++ b/libavutil/internal.h @@ -140,42 +140,6 @@ #define FF_ALLOC_TYPED_ARRAY(p, nelem) (p = av_malloc_array(nelem, sizeof(*p))) #define FF_ALLOCZ_TYPED_ARRAY(p, nelem) (p = av_mallocz_array(nelem, sizeof(*p))) -#define FF_ALLOC_OR_GOTO(ctx, p, size, label)\ -{\ - p = av_malloc(size);\ - if (!(p) && (size) != 0) {\ - av_log(ctx, AV_LOG_ERROR, "Cannot allocate memory.\n");\ - goto label;\ - }\ -} - -#define FF_ALLOCZ_OR_GOTO(ctx, p, size, label)\ -{\ - p = av_mallocz(size);\ - if (!(p) && (size) != 0) {\ - av_log(ctx, AV_LOG_ERROR, "Cannot allocate memory.\n");\ - goto label;\ - }\ -} - -#define FF_ALLOC_ARRAY_OR_GOTO(ctx, p, nelem, elsize, label)\ -{\ - p = av_malloc_array(nelem, elsize);\ - if (!p) {\ - av_log(ctx, AV_LOG_ERROR, "Cannot allocate memory.\n");\ - goto label;\ - }\ -} - -#define FF_ALLOCZ_ARRAY_OR_GOTO(ctx, p, nelem, elsize, label)\ -{\ - p = av_mallocz_array(nelem, elsize);\ - if (!p) {\ - av_log(ctx, AV_LOG_ERROR, "Cannot allocate memory.\n");\ - goto label;\ - }\ -} - #include "libm.h" /**