From patchwork Tue Jun 2 15:16:29 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 20100 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 92B0544A686 for ; Tue, 2 Jun 2020 18:23:05 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8026A68B010; Tue, 2 Jun 2020 18:23:05 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf1-f194.google.com (mail-pf1-f194.google.com [209.85.210.194]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C2E4E68AFE6 for ; Tue, 2 Jun 2020 18:23:03 +0300 (EEST) Received: by mail-pf1-f194.google.com with SMTP id f3so5181881pfd.11 for ; Tue, 02 Jun 2020 08:23: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=W8JLzhFiag+WW0iOLySjTERJ7HTiw72Kg4S4T9s/S+Y=; b=o7Dhgl8UTnX3ekEEzGHIDZj/La0GPYqdJshyx1llzVtm5t0fn422d6OzheAnoK1WGQ 8Aag7Ihqs7lah92S2ns0vSEoGixCr2S39rB8L2X0fe9PqB0jOkk7063CyQHLhP8+q6zC g6Rx7wkBLbJItm5+IRV5xaTm2TGc5STjR5qkhtd/lPH94+bzJef2v/4h7hHonIVjTnd9 H5DAyQhGqYvH8qMUp2UxNa1okjeugsJ2Ptt40Ohoov5Ow5vjJhonY71+ou3+bOzQpuJk jJBliaBkOoDrmkKdC+r1p6qpY8KI6/VlBBRDzpkbqdNKkmveHQB2nhDTNOL7nerENJ/M Rmdw== 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=VSDElcwYMLN5RYQOBgDczOJKBv12ogVAR6pzjyXrH6FaD/RrZgile4bK02JkCfLFtX 56fNBtGG4BssuST8b3qf3KxWZA/t19dkElEWF0Oo+pvGdmOXtfpcmKxLwYhhO0n3Qpep 3cbQMpYLpUlBH/IKHcLmkO0gY3iIXwSnulLxn+WUZm4pGMXoMHKrBBX+KJdMA6DqOJSx Gq5TdACOzj/m+vA2CwkgRWnjg+3z+rJvfvOi+vF3fP806NkfNMtD69EqhR06lpXCVzFZ Iyk0GTFrFAI1GP3V1Q5nRlmdygWY7OzO0XHqMXjNaCn8R90RQKrlUdmMermjCi6slJx/ I/nQ== X-Gm-Message-State: AOAM530t2VrCahTyXBXrudtfqdoWF44zbH29+icabciUzNujLxKjNxFP yiJO0346BR8s/ohUxBuuePnxjvvJ X-Google-Smtp-Source: ABdhPJxHdCLFLaCjUtVRaoL6Is7SpWgw1vxIL8rOB1RpK+i5UPp2w5xm/26Fb/tdyFXDWoAwgD7a1A== X-Received: by 2002:a63:348:: with SMTP id 69mr23542630pgd.68.1591111040337; Tue, 02 Jun 2020 08:17:20 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id b15sm2958089pjb.18.2020.06.02.08.17.18 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jun 2020 08:17:19 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 2 Jun 2020 23:16:29 +0800 Message-Id: <1591111034-15499-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 v3 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:16:31 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 20075 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 B451D449E05 for ; Tue, 2 Jun 2020 18:17:32 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9312D6897D6; Tue, 2 Jun 2020 18:17:32 +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 B103668037C for ; Tue, 2 Jun 2020 18:17:25 +0300 (EEST) Received: by mail-pj1-f65.google.com with SMTP id h95so1612062pje.4 for ; Tue, 02 Jun 2020 08:17:25 -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=iMbdhM95HeDu+AP+eMyumlwpa3IJiy5ZChNq5+Qw3OAV0qeXuKVndUBFk1eXb3FE6/ q4fPySiADe+N+hO9XZxn884ksfpM8ncLIwuXPWq3jfTAbUaOQKA98LyHgyW11t3DDCV6 3kfHteJNuK0HLGm6mLA2B592Mcb5toK/YNh9Wq3T/Uqz/UkSj4OUlxqeh8oqe6HQjWi3 xQeajN1MvPc1XFlp11jy5kwU5K7DcVRkxwUDpNKi1w3V7Ia46ZLczFbwsk+CB+nl8mN2 j/E/aoRe6BfNwtMQN6h3oPiVgRF32DvoICM+5gbFgr1TbUeHSF/QyTjzeMTtMaGymLcJ ciiQ== 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=RdJiC6DFQTU/FAWZ1rPBiO1uoqM2JUI2bMPTeB/NB30KCbtwYYURIvHf2KdtA0FhIn E5vC4cXmR1uWDmeLT6N7TV9oFfIgraUTgynhNBvbqwiT7/UfOlDcac6jbcLO/RQJXDv8 6QYASFfPTht2y/xq47YQ9eytccje8soWHh4PQUWGQO6nk3WOYRzOgo72c8Gc9x+8s69a k5DGv5vgtpwyRlkLUoYOsph7XlkbLbmdjcTJQxmww/pyMIkKw2c5lSPQ+AirjppFfh2o ifeDf0ypM1G6rOL+wXctAssETMjB9pJO0GodpOPOqxK1k2xmEz07dOAQDkzQ/sCQ77Ab 46uA== X-Gm-Message-State: AOAM532rMi5UokXbnk+09EG6WicJgqqUSz8u+jnNCqPnouH2IG2JnrUI yVnvTiIK2TWf7CljqLXhyFikA5hD X-Google-Smtp-Source: ABdhPJwYbFttFgNSgx0MH7z6RvAP1OqabLX8/apQyVQGl4/+qJzdlbtNVMa1yXgl3V/RXTNjgYtqEg== X-Received: by 2002:a17:90a:c83:: with SMTP id v3mr6269350pja.136.1591111043402; Tue, 02 Jun 2020 08:17:23 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id b15sm2958089pjb.18.2020.06.02.08.17.22 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jun 2020 08:17:22 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 2 Jun 2020 23:16:31 +0800 Message-Id: <1591111034-15499-3-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1591111034-15499-1-git-send-email-lance.lmwang@gmail.com> References: <1590674250-32571-1-git-send-email-lance.lmwang@gmail.com> <1591111034-15499-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v3 02/22] 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:16:33 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 20077 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 3017E449E05 for ; Tue, 2 Jun 2020 18:17:36 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 0BB8F68AE37; Tue, 2 Jun 2020 18:17:36 +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 DCC1968AABE for ; Tue, 2 Jun 2020 18:17:28 +0300 (EEST) Received: by mail-pj1-f67.google.com with SMTP id s88so1605786pjb.5 for ; Tue, 02 Jun 2020 08:17:28 -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=Bz2Ro3bMsaC6xskXvOPUfWVdhfpG+NWUlozsj7wCZ9+3e21I7dHKHU1Tq2sjQCUkRz iRA96+9Bqb44h4N+jBv+nPZMYNyodySFVFmeEOmXhEllhexpBR9MnDJDx/tbKIQDajjw zlkv/IyNln+EFQN2fmN9TznYhjO63eQyner33iZys2AVwSG3My7uwOzO5kWJI5icdvfE ayh2dgfVhMs9M/GsKsjZ2brflaB1DOOjYzclfS++84Q/phU5pdLIALNKAQekYQqn4jVc M5o8TGnmGChu2f2XumIkX950bluwXzv8xuVUUCkFhoLELN2MzLt+P0Ebca0bgRI3qR4i 0kfg== 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=etbtfkezHsIzs5aDJxTnEdaeREaxuECBj+5WyubiFOVEwJTeaeFDLE6oJxNRylG+fE xaC649l6kahv3zBb/dzAP004OA2U/Xp+Fmk/EQGKJKue2wqfbPnrS3Uh9T7tphSCpZ0h H1qBvXiHzDWHGiQVqeSSlbPieCmibxWJd5NGRR9CUXm1jpk45fvXAjiKMTr2FeNwsY9x 7tl09n00h4j5WcyBft/QE47DHG4pmlL0wtbcQ6spz9mdLCzkpDknu7kAtivvFucuE4RC ZEcnWK1+Z0D9HYqY0M5IyPFrcsXIsQ2/FhelyGNXP1JH3B7f/zZFL0kACP0K+pJpc+lU 8VEw== X-Gm-Message-State: AOAM5326V1ZVZjA1KWzIQKpSL2XlWQXYQHlTCK6LSGLW+Z4tRJT8PCNV 5114KWorKXFV73CSHz7uX8rGwrLn X-Google-Smtp-Source: ABdhPJxP6xmEkXrE9QIht9haKT7/j8OuYit+T0qdO9lpZ/hUEHxyKfTKHNHHmrv/F8V3/Dt9BZL1Ew== X-Received: by 2002:a17:902:ff18:: with SMTP id f24mr4999697plj.118.1591111046543; Tue, 02 Jun 2020 08:17:26 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id b15sm2958089pjb.18.2020.06.02.08.17.25 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jun 2020 08:17:26 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 2 Jun 2020 23:16:33 +0800 Message-Id: <1591111034-15499-5-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1591111034-15499-1-git-send-email-lance.lmwang@gmail.com> References: <1590674250-32571-1-git-send-email-lance.lmwang@gmail.com> <1591111034-15499-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v3 03/22] 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:16: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: 20081 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 6DE71449E05 for ; Tue, 2 Jun 2020 18:17:39 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 598AE68AEE4; Tue, 2 Jun 2020 18:17:39 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f43.google.com (mail-pj1-f43.google.com [209.85.216.43]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 818B068AD33 for ; Tue, 2 Jun 2020 18:17:31 +0300 (EEST) Received: by mail-pj1-f43.google.com with SMTP id h95so1612209pje.4 for ; Tue, 02 Jun 2020 08:17:31 -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=pvuu2B8Xbf6QXzbdQTp4x2rAJaJixR5c4x2Yhz9QZV/GtGpsmm6ejuRrv223zA1fZo hd9OH6C9K1p+l3Jkyco3gOlDU/7iQECciKdACUqiFMWfXLJKyS3kCjE5Z7Suv3HyqKeT 4tiVFaU8/bjSpQIM7DPLRcPfDnQL02fCPV3V7LqPdDlAYoATnCzQkXCUCRM0QHm+3vua iHJHafENmLiyUpotla5fWW0/x97ZK4xCDLrf4cf4FCuE9YXdNP33x8vekHkIKQp67eMq 3wuBefR9PLLprnW0JG5Oy5ZjlSeUuHw0PNDbiiVYrPoMcuObGiHlFiOkx5sTJAU8Qy42 EEgA== 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=QPAdD7sZTN94o/EM7Vok/j8BtJUYKDNOHvsah+CizzA2hd6yKPtzvPB54W0wnyqo2d 18qW7I4bpxp++DSB9P+BH8PxFGW/SSr3t9y4unmNSz3Sns1tlAQ25Tz2AEPes6pOmrxu E1dUvH13Eijp9iLy+ujM93/nFEfJBaDBFKeqyJkmBOTwoQUEF9afndHOgBnhVaUOf4tK aamaimCdW6xGpWJoU4lYcy/df/cJEFotD1HbspFoeSFTPAdKlXQSSb6qkZgvzY8DKCqY E3+s12EdX7MRbUcqdD0InAXLs6zA7jUs3qKyG3vwZ6mOdWCalXLUtZkaaWKX11j/SQFX DO5w== X-Gm-Message-State: AOAM533l3EQmzm9JmCcBxMuFpwB4cBpaudI1/Whtbo6TBXGJnGuUZRAl Fl0JgQJ3jN+SZSEyqRHlTnyjVOvL X-Google-Smtp-Source: ABdhPJytUQmjwGFIr2mxiziqRUzPVmgVnp0IY1+fCJpqDMSVKSYXqcYfrRCvWyncOSTTY9VHIOzsTQ== X-Received: by 2002:a17:90a:376e:: with SMTP id u101mr6118602pjb.126.1591111049615; Tue, 02 Jun 2020 08:17:29 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id b15sm2958089pjb.18.2020.06.02.08.17.28 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jun 2020 08:17:29 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 2 Jun 2020 23:16:35 +0800 Message-Id: <1591111034-15499-7-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1591111034-15499-1-git-send-email-lance.lmwang@gmail.com> References: <1590674250-32571-1-git-send-email-lance.lmwang@gmail.com> <1591111034-15499-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v3 04/22] 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:16: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: 20078 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 17E7D449E05 for ; Tue, 2 Jun 2020 18:17:37 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 0407568AD33; Tue, 2 Jun 2020 18:17:37 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f48.google.com (mail-pj1-f48.google.com [209.85.216.48]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5364968ADE6 for ; Tue, 2 Jun 2020 18:17:34 +0300 (EEST) Received: by mail-pj1-f48.google.com with SMTP id i12so1519984pju.3 for ; Tue, 02 Jun 2020 08:17:34 -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=TZhKi2ML6wRAW1trl/XyjuDUlEpbkrU1VFE5gpB2Ubr3ffq5OZYwThT/oIq7w9jrnr pdz1qYQje7I8YARNX/rEH9ZVIolL6CW1qjscs16UcephkGVPsdRJwAh7H+YJDw1Vze4d /20IwH8yX0k0/IQ6ZD2ZAcyizrdPRO9P0T9hm/NdaIQ0qqASgQGbaNdxnEmPSD6XuX8m /QlTsP9kEdphy2lc+qeguIqnKSz2hdtsv0CAzTX2RZeI4E4VMndVCucAyYrknBSmJWg5 oDYGAXZya0m4Ka8DcQxh7RhtvvPuHp3QKsF7S8qY96em7WT7naSzpbjITHSozl1Gu+S3 byFg== 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=DTNOhY6o+uZgWSWhgwY+jP1fCEceIhaDq+cjO0WTGiWbHf6bc79MnmMWzs1SKzkNS2 2I00Ws/MdxQ0yIc3+enFRJcUknpvqfiGCMEw7YrVaWFwkBMmiP/JXMf4o7yVzeDpygvz kyNRgBRVsI7zmpTIqqs9swHjJOwHKo0ZIsHEGtkIG/GnvroAyxIerCT0l3Adf5lziCtP tflGTNxBnQI2mN6EvRDwj2pp90rolrxGg+Hg1BbHjHexVygdLA2aQEfecpZ3aRKmbLis QJty7PWuyx3Uk4c0gHXZQ1Qz1oPT/59qpbV+6rk01GviQ3Qh4Ur+PvgOJXVyJuYwjZLT sIdw== X-Gm-Message-State: AOAM532pv8hJnh4iNHyREiOAYC8PyxJXlu/1Dh1ReOqXEwznJ7fpA5oR satsbZyh3shrumUogCbtDmQDX4CA X-Google-Smtp-Source: ABdhPJw3gd4HEVVHq5FdOzaXl8EWGCrb6kXYUYL8U2l1ctuFfUyi6vc5NiRmltNebrjMm5Bxypg/Mg== X-Received: by 2002:a17:90a:ba8b:: with SMTP id t11mr6501162pjr.191.1591111052639; Tue, 02 Jun 2020 08:17:32 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id b15sm2958089pjb.18.2020.06.02.08.17.31 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jun 2020 08:17:32 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 2 Jun 2020 23:16:37 +0800 Message-Id: <1591111034-15499-9-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1591111034-15499-1-git-send-email-lance.lmwang@gmail.com> References: <1590674250-32571-1-git-send-email-lance.lmwang@gmail.com> <1591111034-15499-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v3 05/22] 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:16: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: 20082 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 683D7449E05 for ; Tue, 2 Jun 2020 18:17:41 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 508C168AFA1; Tue, 2 Jun 2020 18:17:41 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pl1-f171.google.com (mail-pl1-f171.google.com [209.85.214.171]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B10DC68AED1 for ; Tue, 2 Jun 2020 18:17:37 +0300 (EEST) Received: by mail-pl1-f171.google.com with SMTP id x11so1459850plv.9 for ; Tue, 02 Jun 2020 08:17:37 -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=C7s7yvrBt7KXgLTdH22vE26ZtzfMgZIZ9EAVm6yjpAZkiXc3ZSgKn8yHWu7ccndxJ7 nd/cry9Qnl/8RSCPM89JGC2pK++QdtM+gvfwM4MC+NBSr4+Xzr39z+RBiyhlYz6tn1nR 7pWy98cRZJHFzOIrkgKLiFGOgPFE/bwSwWOf/M120uX3vBmg0dwM0XNPZNtauEuY/jcn Ds1uQWnXFCwbozEai4D8pihF603ok/PPfLvJcIYaOoWrP3Jn3Hio7P2d4cqQ1znsz/Oq Au3+0eID/PMgL6jMU4rlcbiZf50IyoN5Nd4D8fIn38SyXYfOPKV+k965HNVmc7mQlIEg vCEA== 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=YjY3V0/oVlgxvD867SUrGuTNwtZWruHaoXvQj7byhagybmKyMD1evAi2larecTgQ9n gRcTGBEQKDX70YNomNk4bSX3hERBPtrbu1Y7N2KvUn34P8d/kAYUD/bqILqsOclJQ0eO ALWxVew9BRQV8F9RS6D3ezDMU8KCSIs/ByWupLH6xcIPNmFuux5GhsOIdqY2RCFpiSew Ph+3tHvc7acINoMhnDwl6Fb5pcPfZ6pdPTEnDqpZK7oPxpJbi+7z2tmSGydB2fPD8o4T ImW3/KssgZULnbI+W1LIjCk2ot8EwFlL9BF4aD5a424O3ECa/uqFZWOwvQHxADJaShRp 8AlA== X-Gm-Message-State: AOAM532GA/rDknLq1BibOi4TJSM66PEAd4Xgp9yLC6lj0cSPWqyvtqfy 4tOWasm3BiChHVGjV7s9ObF1gI/g X-Google-Smtp-Source: ABdhPJyRlrlB2wMMOM/VfMMYqAFhYaUvXYZe3Ntz9u3RN5HUUtvNzRdp+QOtheGbBY1CMKPmGxkKRw== X-Received: by 2002:a17:90a:17ab:: with SMTP id q40mr5618947pja.152.1591111055692; Tue, 02 Jun 2020 08:17:35 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id b15sm2958089pjb.18.2020.06.02.08.17.34 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jun 2020 08:17:35 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 2 Jun 2020 23:16:39 +0800 Message-Id: <1591111034-15499-11-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1591111034-15499-1-git-send-email-lance.lmwang@gmail.com> References: <1590674250-32571-1-git-send-email-lance.lmwang@gmail.com> <1591111034-15499-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v3 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:16: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: 20085 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 E301C449E05 for ; Tue, 2 Jun 2020 18:17:43 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D1B8468AFD5; Tue, 2 Jun 2020 18:17:43 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.173]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5D7A868AED0 for ; Tue, 2 Jun 2020 18:17:41 +0300 (EEST) Received: by mail-pl1-f173.google.com with SMTP id bh7so1454979plb.11 for ; Tue, 02 Jun 2020 08:17:41 -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=pqLuHDw0EnGP3/RbDwfbOBU/qOBk9BoWheqIdjQA2dcdHXx2zbDyewOiq4a6PxI2uW dVE3LtBtjt9GTyaQzKHXx+Mh5gU/+KrZJpv+Md06xnbMpRrmoEehVCMg6Zb56+HVIBr3 4+vHlSyuhvNg8M2FjpKcq7dUSm44VUWNxyvPz+iUPQj21MhPgANEnCgdwb6q5Z+12yGT J9qs5v436mzpnmR+qA5jri5ogsYjHWtPgjvH8ao9CmhNJ4WEl25tZV3wwSUZ0dijrcg+ lRoPOjgtfkugzy7dZzDoZfySGBFbFzZYwVAzZNGHj6s9Z2F1voLyQQYK6oTv96/P3utL QphA== 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=Q7QGYrVasa6UO1piIG4oc5vGAlz/5qaxD7caZCJw+2QZ5Ero4Sr3lkpuLGSgTZK+79 AyxS17jKh+G5oAZyBYfmHUlDMK5w4R8buVA5pVHja+Y8VJHRet2VDh96eAgK6RP94SLE L9io4mVHku+sH/qofE5Ji0E6S3bmtsvpOaZfdDcpBFrWm46yb2wy6etLE0gsAoQx278V iLNvUeXtUWT5P0G3c+I7MHI65BJJQkVsKlwxL8hKe0bqbcq86AxaO9iIaTnUs+8pa1eI WQYQ3jsFgGGzpGGPH7xvEHMDIXLk0tonuAEyUkx9u6czovpckD1ur44pNdRJ6mBMmqy7 yfig== X-Gm-Message-State: AOAM532Cyx/RzBQGAcx9qqLKQUE2/0Ou0M896DXgv0/B22/i3JWjfbOL turw2PKI8oDo6Tuy7edFG8SKlcFF X-Google-Smtp-Source: ABdhPJzTxeFc9mFrHrIxtJrG6E+kxMR0ccrI/g+1ADM1jNkvc1Y+HgZS1yJ10+pRUfpruSAtXxG8LA== X-Received: by 2002:a17:90a:8d11:: with SMTP id c17mr6132298pjo.201.1591111059249; Tue, 02 Jun 2020 08:17:39 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id b15sm2958089pjb.18.2020.06.02.08.17.37 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jun 2020 08:17:38 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 2 Jun 2020 23:16:41 +0800 Message-Id: <1591111034-15499-13-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1591111034-15499-1-git-send-email-lance.lmwang@gmail.com> References: <1590674250-32571-1-git-send-email-lance.lmwang@gmail.com> <1591111034-15499-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v3 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:16: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: 20087 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 A60D3449E05 for ; Tue, 2 Jun 2020 18:17:46 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9125568AFEB; Tue, 2 Jun 2020 18:17:46 +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 8D0B668AFEA for ; Tue, 2 Jun 2020 18:17:44 +0300 (EEST) Received: by mail-pl1-f193.google.com with SMTP id q16so1474124plr.2 for ; Tue, 02 Jun 2020 08:17: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=ke1DIXXW19960euu8ejbnDecOHLr5f6M10NCFjHxERM=; b=OQ7rFW7Dd0ioZvh14qqvk/yAjCnLoTz9PnrnaRCOxRH0B/zb5JPBFYcwPulnoBaU4H n35CRcSaUHn/+tU2D0gPJrxR27sSNrxMLNtZFMoAHYE3qqmRAsW2b6dIdkQov13a9NXA Fvjgc8O2bnV977F/eS9yH1jvthtc6QjRlk3zSNpVn/A+VY+LXyPa4uVp1dea3nEyfsnr SRp9mpc0mVTFJ0GjEUMQ7IXy3J19aTimA/STWPAc5QGqOa0oPgYVPHD0LmkY1U3nrOaJ ECOeUP0qo7b/jFz4kvcCZ0NVgQ/z78f0fJCH+d7XzRpkIcH/c2fNwtw5E7SFb/M+v2CT cdtg== 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=kKMVhXIEPPXGpBprcBQv5T/R5wqvkd8fIWfsE41EL/O3zxu9Xp1Uf4mBVTxBjlatX6 4EaReAElZ12DzKtPwxXyoemGtmHROgXo+7GBml44hkOZTZC/Su1Sc1p+vGBdt5LcCOQf xoHqLErtN+4OYTPQBlcZtZltoGklKldd02A5sc0BYqiTzJNokzLakvGgofJ30m9KjCNK lEkYoCSBCFyUpN49RaH1QTtLQAmUwPHmYAFlN9ANjKNrbdya0dHsluTLGN5NiMsrCu1B 0XKTg6ZcvrEXXJbyu84AsvsJvZ3SRphTiYsdDUZ0KJvL7coJoSSVQ9S3nH4phUEDUdE9 DXJQ== X-Gm-Message-State: AOAM5305dhVhF+Ah0pV2qwD/ikw44Nh1COImkKiAJoOoXGFhYjzQaHu+ dpRmPzO8zFZWcf/ZjfqGehkZMh9a X-Google-Smtp-Source: ABdhPJybmS+1ra/tCYuw8OQc+IV6m1O8koteJhABU8lRTnbWjyZVMJKdH0LHli32+vbyBN9YcL/Mhg== X-Received: by 2002:a17:90a:2327:: with SMTP id f36mr5742853pje.220.1591111062233; Tue, 02 Jun 2020 08:17:42 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id b15sm2958089pjb.18.2020.06.02.08.17.40 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jun 2020 08:17:41 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 2 Jun 2020 23:16:43 +0800 Message-Id: <1591111034-15499-15-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1591111034-15499-1-git-send-email-lance.lmwang@gmail.com> References: <1590674250-32571-1-git-send-email-lance.lmwang@gmail.com> <1591111034-15499-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v3 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:16: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: 20089 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 480C7449E05 for ; Tue, 2 Jun 2020 18:17:50 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 3350C68B03B; Tue, 2 Jun 2020 18:17:50 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pg1-f196.google.com (mail-pg1-f196.google.com [209.85.215.196]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3F03268B01C for ; Tue, 2 Jun 2020 18:17:47 +0300 (EEST) Received: by mail-pg1-f196.google.com with SMTP id e9so4036519pgo.9 for ; Tue, 02 Jun 2020 08:17: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=+I5dK05NnB8d4KDf8Vw9q+o8wggzIUI7Z3O5NPF6H74=; b=DTNYf9VPShxn2Jl8JFriE9l85LtjSQiIdMpNs1HTSvq4Dvy713WPCc1Ceu+soJEYCe Pxu/DC/ob4ou/1UwgQl2RCx15VWyFrdcnxKsC8veuKP14WDPy25Fyo9Pb3LepQ2hoOVW Xcb8LlHJx7DTb68Yn4koGpGxjtHI/nXumcwzDzRQDAaVxR4PJ0XIbavn4pI7P1YDaqII StvEcWYcSzFGL0UDfnShHBPATlOIZuqUpHCMADvxkDOmXlHqjk/kBK/me5OQ9J8sqf2Y JekVfO51pqOl09XZkAAMwnkKOY3GBLttuUqYgOL05taBBe0N7H5MSp4URbEyvEdTOLEK rd7w== 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=rEe8DykyrQ8RunkkUX61P208TJT45/leeaQgmXqiDGRk0jE2RfvX6/GKRWymemBX4A k89jTcW9FYChE8s5g2tPyrNUS/f7nLSfvOmHUjV6P1xY8CGnpLf+nOkEOkabDkhJAiFO EZ3cQvN/bsSkAl0tgsufRc7sFKxT34XgzCmq7I+aYCtohdZ4mUrft0gdmmuqrQK0gpSo p2TW0Ulg6evQTLx8NOIWpRdOM+SEy/NkG2HdvKYs4/EgyUuB4kyf0Qq4qtDQmbDAfhpb 1Sj2KaYU1DZ6FoWNcvDn+whb7dwXqtysChxlM7UHX5BT+CJ7RzRa1jBYkSxelUZQN1b5 5WVw== X-Gm-Message-State: AOAM533q+WNwUNYIW7W99/ngfXSlJ6cPT2QLRlnzIHofqdwyH3O+oIy4 LTIitB+p/V+U/jaBhKkRb/nqMfXt X-Google-Smtp-Source: ABdhPJweA6g5raHjUYKhie+5H4dAdVmDYfC3hHt+XYMT8sTsM112Lk3u7WbXj8sBCKpm08Btz9d4jA== X-Received: by 2002:a62:3081:: with SMTP id w123mr26411940pfw.4.1591111065253; Tue, 02 Jun 2020 08:17:45 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id b15sm2958089pjb.18.2020.06.02.08.17.43 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jun 2020 08:17:44 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 2 Jun 2020 23:16:45 +0800 Message-Id: <1591111034-15499-17-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1591111034-15499-1-git-send-email-lance.lmwang@gmail.com> References: <1590674250-32571-1-git-send-email-lance.lmwang@gmail.com> <1591111034-15499-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v3 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:16: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: 20090 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 B2A14449E05 for ; Tue, 2 Jun 2020 18:17:53 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9C0E868B06B; Tue, 2 Jun 2020 18:17:53 +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 EF62868B072 for ; Tue, 2 Jun 2020 18:17:51 +0300 (EEST) Received: by mail-pj1-f68.google.com with SMTP id nm22so1519378pjb.4 for ; Tue, 02 Jun 2020 08:17:51 -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=j/6M4Y4ksJufqPiAgNfTV04oi2RvvcUaO4xwlVWc7LXGnwn6ENoMyI83/J9pwQjkM5 3tD+2raajtd3iL8lMhwlnqPbHTs4IxssEHPy6VJAeQpRR2BOO1LmLIaNOX6l6HYQQW/t BdZyEWEtg43lQU6yXuBzEmQSb/H+tUkbDJB66a+3YfgdbOsvpmtUXgCOkE6wtGn0SqRU hZzDQgoQ8jxjeieZ+bfoZAyg+esEE1uAxepLXx0WKoy2ntkcBrV7ZjEHLkJHl8wSjU4z 0iGqGXXewW1tC7V658RgasRd47OpbPggdwyuNOQVM4EsWDazFVzsm/iusnYKGIKsIvxh nteQ== 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=p3jzU8TpEB6xgEnt+hvd8Wa8nc24KHU4DENJWk3r/7GnsGqSQOLAZ42Z8U93AoeI1n wbP5q+RMeAArUkY52oDNfkgWFxSOqcIzqGaY1NXs8Kb5s12NHsRDAs+LUHQHnHA+H+5R KrcD9TFF+Rhsyw1n14HWMggmS8l8JMXsqQcEAW9tzo29prsnqM5RMOZBQKeLExSNgMi/ E5izHS5PIHjyw3PsfIYfP1MQf8E+5SKszUqLiwH54MFKOWuuiaHrFf8PExbN6RijQb/J xmQeLByys64k4d0AUq3bGYXJyjJsRJVdGxJt+SqxqSdu8BGoCcI7CQKt3iVzAEnGrN1z RUnQ== X-Gm-Message-State: AOAM533XllOt0uDFraIbDeuBsqyjlFqMYHZeZ7mbrYGqZnijbtGsLXZu VdlQrceko2k975cvNJ3eQb/CMcyy X-Google-Smtp-Source: ABdhPJxlZmwN2LPjhJP1t+3dNN9nfQU3NckNjGsGNe/fD0ySQsIQlkVhNIu4SrDn8SxpvliQEzq3/w== X-Received: by 2002:a17:90a:c83:: with SMTP id v3mr6271581pja.136.1591111069883; Tue, 02 Jun 2020 08:17:49 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id b15sm2958089pjb.18.2020.06.02.08.17.48 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jun 2020 08:17:49 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 2 Jun 2020 23:16:48 +0800 Message-Id: <1591111034-15499-20-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1591111034-15499-1-git-send-email-lance.lmwang@gmail.com> References: <1590674250-32571-1-git-send-email-lance.lmwang@gmail.com> <1591111034-15499-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v3 10/22] 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:16: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: 20095 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 988C344A310 for ; Tue, 2 Jun 2020 18:21:14 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 66E1468B08E; Tue, 2 Jun 2020 18:17:56 +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 A0BA968B096 for ; Tue, 2 Jun 2020 18:17:54 +0300 (EEST) Received: by mail-pj1-f65.google.com with SMTP id ga6so1526540pjb.1 for ; Tue, 02 Jun 2020 08:17:54 -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=H2Qh2RqtDQPAj8Ns/uc03Vmnm3ncYb1VHfuzblFMRgQ76+uZZ3ZYY5ciKN9Z2a1+Ba XzXNkqzLP0CwThRWxSZTea3TmgZH5jwgEUUfQfr3oOz1c7NqH8cuwkTNxDs5jqrGjqS3 VTqb4/RTjOk/uYU8G7soaj5Dq4mDBgBMdw0ZqduMR261LW3hMSNf/bSixSISlSiHgYXg fuBAKstLbeNcqaHKIcC1i40zuV+8Pn/lwWSgs78DR2UWdeR8ljGKMauRtTgWKgizVo0a 4vkV1GR3BCbxnMMWe7ugiw30X7c4FeiWdDTJ8sEm3TGv1kZvYbrxh2FcXhS29Gn+UNg3 sL5Q== 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=kjLTVkoto8WlYQv9AhXU1lG3c00RqAIcERVCMbZH7y2ZSa76EeN2u3NmtDEYFuEDxb 6hffK0VKLdCendPFTntWmiwMirs5STd+fWvTF1fQsbLtPe1UAjlNpdbYCfpPbXmZGFkL 1It5xgBgMJVYD564zTVMMINgfLvry75QESEwduhte0VLfdb9PTrcHvcU8zvpERYta0Bh YVOq4HD/l8QgMXbx7uRgVBOFlJexHe7ZzzA88MgvA4kbGUiOmTL2F3SlCaIo7bcdhQmF MrMhLU9wEx7k0858OqqWaOOc3cVlqxFzUkmVa8Ot/DVZ9cryc1+GdF3iATK+ykthLY2N bPrg== X-Gm-Message-State: AOAM5318b4bBB+LAOtsoKrLTJBgEmFEXGzPKh6HYX6Et5n8+VIXPDedB u6O9FCpT8OcpQxlScxVq5Qwl+43O X-Google-Smtp-Source: ABdhPJyUQcPGpqmHqzX8pxpqmTu+1EX8Mxc/MI6lvu2O/yB7ViReuKaI82rxzSqjxy+jYPkFzp7ieg== X-Received: by 2002:a17:90a:2305:: with SMTP id f5mr6188207pje.57.1591111072846; Tue, 02 Jun 2020 08:17:52 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id b15sm2958089pjb.18.2020.06.02.08.17.51 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jun 2020 08:17:52 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 2 Jun 2020 23:16:50 +0800 Message-Id: <1591111034-15499-22-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1591111034-15499-1-git-send-email-lance.lmwang@gmail.com> References: <1590674250-32571-1-git-send-email-lance.lmwang@gmail.com> <1591111034-15499-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v3 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:16: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: 20091 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 71732449E05 for ; Tue, 2 Jun 2020 18:17:58 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5902F68B0A5; Tue, 2 Jun 2020 18:17:58 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pg1-f193.google.com (mail-pg1-f193.google.com [209.85.215.193]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2470B68B0A5 for ; Tue, 2 Jun 2020 18:17:56 +0300 (EEST) Received: by mail-pg1-f193.google.com with SMTP id j21so5207747pgb.7 for ; Tue, 02 Jun 2020 08:17:56 -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=jD6C+rmQkepScJ+5bHDkVD/gK26Gbw/X+crGQ1HU1iB6ueWijRvH/4GmxNJb4rDn2X a4V3pJ5rRRYf3tJaAnpNjP38aHBxvFQ6OWIAzQqx3bl17YHJQmfsKEujceHHlHZ9tlWY mMR7Z27mlNZsB6/yXRKvpgK4M6xyWcGu9A3usMgu6UvgpxxU4//9dVG79aDiqYG004/M 8DfcUXPV7A86iIw9B6+L/dHrHykaVCC/eum/nh4J9XV7DVEFBKwVX5jtmidrlBbtdTmA 6pMdI9GCLJfy0LSvKDOvpNjWOacfS8QL84xVKx1B/omM7SF5wgJDoPDh5g0fVFH2oWkV XwVg== 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=B/MFtzZv+p/fFUYOy2TdppN7rerhWG4pWqAjIy7qmshhYukdjK4i4xUKivexv1F8Bq t5uvhP3vz7jHMQuYAdUZkStCIosEOX++Ik+3Y7Z98l+T+P9J5FVZc/+cgcqCQmBlJMSn xUwun3QIfRnCVt07m0vicLuoTJocpDFu4whDsmuvoETcjFqxqYAhuJsTnz4wI6Suh1jf ycE3hI33s9mbCPEby4Fsc68DJgL+2DseHHfHTKaictXmmd0S3bVMU6YyaJkU71lBP4lB N/thLTw6cYPZkJ+X/y6bzPtltaOiOwhQamULjmnuEXMVrKlhFOsc1wGyLoNgij1Pg2Ea p/Mw== X-Gm-Message-State: AOAM530XbGk3LFmHmzLcANb43SL+SQDIPpHY30/SOYBoAZmPx0q7Q0Y5 4YeL4e03iXygHPkQsNe/VoEnynHJ X-Google-Smtp-Source: ABdhPJyxqnUyNv97VF0MJJRhWrcUgWsuDFN2SNn6fiBC68eJSnnXfGM8dN7f+z6RMfls0e1dG8JAAg== X-Received: by 2002:a63:3756:: with SMTP id g22mr24402662pgn.304.1591111074352; Tue, 02 Jun 2020 08:17:54 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id b15sm2958089pjb.18.2020.06.02.08.17.53 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jun 2020 08:17:53 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 2 Jun 2020 23:16:51 +0800 Message-Id: <1591111034-15499-23-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1591111034-15499-1-git-send-email-lance.lmwang@gmail.com> References: <1590674250-32571-1-git-send-email-lance.lmwang@gmail.com> <1591111034-15499-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v3 12/22] 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:16: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: 20096 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 D279944A310 for ; Tue, 2 Jun 2020 18:21:52 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 195F668B0C1; Tue, 2 Jun 2020 18:18:01 +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 97E1D68B08D for ; Tue, 2 Jun 2020 18:17:59 +0300 (EEST) Received: by mail-pf1-f193.google.com with SMTP id b201so1086576pfb.0 for ; Tue, 02 Jun 2020 08:17: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=9Q2SWRaMTWsEoa/sJUTz+Z9evdLpumpLmgOfT7xhIeU=; b=saVGyaKi83kJwpU3JPq4FPDHU3+F//2MtbsNzIaUvz/GHWuw35V5/WC+Qyf4kEt//n QjUCux89IMx3GtHY8tk0SdrPGmU5ylTvlINbdMz+msOm0k0tQnlx2ILcIGNXUb6GmRk2 VRHWoutQo4M9fqJ5Wkz4Vt6dHBqBB335Nvg9XWQVMdXuLSft/9iO5gGvk3Ch7HIYxpPf Cy6hl2bkTvqfBaOhjvuGhhkKUqBNcNIqQ6u85kZrHPmberrk5KZYcYvSX7Lr+0+4WBtJ p9LXWCrNlR6UPL0edH9Ga4xe/BijWlxmgsZ7uu4NSM7eYqg3iyauj2hGu5rXFT1jvEVX lITw== 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=YbBsgCqg44g8y2xbCChalX4WFmopNmir5+hWRBJfNriDe4e0bfIiDmG7myS9Jvh0kr iz4jf19Ij7IeCzWbaVA+CyLSdehI/0BdkiFPqadnciI681jZOKuCht2Yf4QA17NDnDej nlwiOLk5MOxGQnSXSx4U/R/tEkhahMBiXyoZR22uhbxcKcLYkgmpypKU9n9Iy63M/jcG OqkswVMDxya9Ar5N4SJlOZuhHIigdXdsdpmqlTYHjzF/3dEykFIbP1JI3VwECN1veu9T tjHW+Z8/RJ1JJxeWHurHpTG1CncUKAFVyBeNNkNIXoiJRKa9nd0z+W94dst5A+d8Nn3T dxDA== X-Gm-Message-State: AOAM533FnOkRUIcdwz5YZvBA7FQjHgHfMXxXCVRjhCB5hpkUIFRTtNHw Y65dcju3k6xb/sNYkjiD1acEhgL1 X-Google-Smtp-Source: ABdhPJwMKl0/FBBqdq2qWUhdFE7LapA5obi/tWV0gcJYp68aJkid/O7XhpEZIvPzFDH4V4vAGgssPw== X-Received: by 2002:a63:3449:: with SMTP id b70mr25395384pga.289.1591111077738; Tue, 02 Jun 2020 08:17:57 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id b15sm2958089pjb.18.2020.06.02.08.17.56 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jun 2020 08:17:57 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 2 Jun 2020 23:16:53 +0800 Message-Id: <1591111034-15499-25-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1591111034-15499-1-git-send-email-lance.lmwang@gmail.com> References: <1590674250-32571-1-git-send-email-lance.lmwang@gmail.com> <1591111034-15499-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v3 13/22] 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:16: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: 20098 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 C643544A3D3 for ; Tue, 2 Jun 2020 18:22:27 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 756F468B0FB; Tue, 2 Jun 2020 18:18:06 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf1-f194.google.com (mail-pf1-f194.google.com [209.85.210.194]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 01A8E68B0D0 for ; Tue, 2 Jun 2020 18:18:04 +0300 (EEST) Received: by mail-pf1-f194.google.com with SMTP id f3so5175785pfd.11 for ; Tue, 02 Jun 2020 08:18:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=w0j0BIVl/EEwAUiqk+r5egZMPQg7UGerjSC8OXMeIY8=; b=e3UxOxPvQiVgvLyydApK8jjuKEaqHg4yZ+BJ0mDeXMlw/PmDYG9MsoZF8g/Dgw+6SY adeXVLXNb7IoG1UmA0ngN3G7ioII8ytFLU7YW0XjQDAHJoVMoF34ZMQ2vGewOuPUOPVI Nt0ddSEb/1fLo5Qqu/Rg8PCm6fUGJAe58laTXEdbzWRm+cLrU5E94ZV/4wLRbjel/bBw Krl1c2YtPI0pOQgrwUlxdhvnNJ86yTTlY9LtzIFAIfCHA+2UDzZmednahiEto5Es8UJm 09SprUK/5KRPjyuDrn6LxgsL/GHIYlVcInd4Kv/xjo/BtcqY3v2SZOYdhavySAPwhJo1 WMiQ== 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=VKoPGTJqmP60b3G9xiCcuxkeRm44JBx7lsx7C0eXrn4eGI8y/+bPsMnBL4yKpmkNCH Tr4ELGZgCEvIKQP3kMtIvoo8YRyXZReg1itrWQzZPoYzNWgg5yp3rwlas+bfgYsRpstO WniLkNui09tQsETg356QzfqjjWvYPBlvJrehobAn0ae0c8ETRPQGRsYNOW+Gh+XkAUBX slUkwNP1hX6Vw97mQ5j/sR22NS0758IwCGTG8DtKgOcFOa2muhiwyCf275uI9pmz8/Aj I1Lxb3n+dEvX09/gwVCiuAAgy7UU3y+5zzYg7yv3Tmt2ZiTrB/qish2VcvWDrM4QYfDr tQmg== X-Gm-Message-State: AOAM532Fs5fpl4WVsRfCStgGu4ariI8FLWtPhi8oqsgPai30RIUDoHIP 4iqtnmExTOXx098BCVupb0NEycua X-Google-Smtp-Source: ABdhPJwmaEiZhNbd6iSakC8injDnvAaFbyZ69t0ra5kA2Kl15ditouQj1qTSHqfQwIeH68YCRWaUTw== X-Received: by 2002:a63:348:: with SMTP id 69mr23545402pgd.68.1591111082974; Tue, 02 Jun 2020 08:18:02 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id b15sm2958089pjb.18.2020.06.02.08.18.01 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jun 2020 08:18:02 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 2 Jun 2020 23:16:56 +0800 Message-Id: <1591111034-15499-28-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1591111034-15499-1-git-send-email-lance.lmwang@gmail.com> References: <1590674250-32571-1-git-send-email-lance.lmwang@gmail.com> <1591111034-15499-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v3 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:16: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: 20099 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 E5B7E44A3D3 for ; Tue, 2 Jun 2020 18:22:38 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 26B4A689247; Tue, 2 Jun 2020 18:18:08 +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 58C7568B0F2 for ; Tue, 2 Jun 2020 18:18:06 +0300 (EEST) Received: by mail-pj1-f68.google.com with SMTP id q24so1617782pjd.1 for ; Tue, 02 Jun 2020 08:18: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=9Q2SWRaMTWsEoa/sJUTz+Z9evdLpumpLmgOfT7xhIeU=; b=T80h+PK1+wPwpOjOmK0eLaoKNGD61TrdZ9iqT0b4GxXL31InTgjBq/uT2Xlh4Zw9Ha l0wpS/g85NCfMDdi6ItwB7iXuFSEFG5ousYhjOZHAj2/rTDSLti8xVnHmc93fiB46r8m pZkLxidX/7U7dspPo2UgyDnZzmzgVA+oqmEYnVbcKqrXHnEw427/16Sb8jMpFBmalfyC uLHWy2kE0kO0FFnYNknOnjulMhG2Zg9h6D9dw2WrfU9NyjkJIhCUTKc5ruKxKUVM64eN frZ/5Rxqh7G01czMDjKS+tKOojJyKLQ7PUch8kxCN2gbMX5h2bft0Hd+Y8UudBwZ6/FH RVqg== 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=FtQ7rt8ADDAcZd+YvG69ncswRfu17yhAKdYsfzrQigb3QCHG7z/3VFkDrVfAyJk4aD dWqOy5GeaygujFbQrFV8EWQPzPPRRuoXKEUgvpmWS54dxrqPc0nGlU+Agl9tDpTmlNqa As6MA/7v9SIP31EzGnpn3ynby5/3NdsvIPLBHRwKLFSS8RjodhAMjH8uKYx1CDj9SBGC Mg2Pk3+g9IYlDi8wvowGMYyatABODNJzRg8a0xHJI5mL4CQbfnx/TTJeR0msoeqn52B1 5mkDWgqtBwkQo5Hm6VPjwTTXgsurr1wMojkrsgD+FjSXA0HXjpqf41A3udxpu5VaKnU/ +fjA== X-Gm-Message-State: AOAM532oewBrlbhERLlMa6WZ3lDwmh5HlmT92m4rYtkHICFRBkuw5okM BnEWUDMjUkOZxd7NFi5fIgjsAEij X-Google-Smtp-Source: ABdhPJyAyYgNgcKsZmGpmd0icKDg2oi/d4IkMv8vVxYGXPOfJThgHdvEM6xZaUJ30FvgBwNeYlNmtA== X-Received: by 2002:a17:902:8494:: with SMTP id c20mr25659871plo.305.1591111084526; Tue, 02 Jun 2020 08:18:04 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id b15sm2958089pjb.18.2020.06.02.08.18.03 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jun 2020 08:18:04 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 2 Jun 2020 23:16:57 +0800 Message-Id: <1591111034-15499-29-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1591111034-15499-1-git-send-email-lance.lmwang@gmail.com> References: <1590674250-32571-1-git-send-email-lance.lmwang@gmail.com> <1591111034-15499-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v3 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:17:00 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 20097 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 078CB44A3D3 for ; Tue, 2 Jun 2020 18:22:08 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1CD7268B15A; Tue, 2 Jun 2020 18:18:19 +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 DE89F68B112 for ; Tue, 2 Jun 2020 18:18:10 +0300 (EEST) Received: by mail-pj1-f68.google.com with SMTP id nm22so1519787pjb.4 for ; Tue, 02 Jun 2020 08:18:10 -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=bJeEQ5TcKxHi4RxmsHWgrdqsmQ3x+baQBkIkttAxE75evh2WRAjNLeDLILPQXSsx+T PiEXS2kVGlvH2/iq8Fvc+1/EKn5epHRt28Op2NMelvnb44k5DnVvHNHO29o7AMUdrhEa 8OPv/zzEJOaSHWzJ1uWq+ZiBToLFw91mGuUM2kKOeCDRhiv9GNLzqbM3+NHskwmuRI7Q 9YR4rXT6yt5YMdkmbi3ZJIcULmRCJimwuMuyJaoXQB5IGWQKNfDQX6e/ovgYr+k9xFHZ 08aa2s6BE7bbfrhYsAQ1QugU7TNk3BfZS7VpY3b+VXju8GXWv8ns15SrL3Oy3lHZMi8d 7UHQ== 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=JBaoqZ3GkY7DktIlWQ782AEO58isAhvLC09ZRZ7AmnTVXBrAElxmEHF7q4HqgoOiie w2qEVMyWev7gZueL0TqveqDHuA2xZwO6oBPvX/q/Zp9t6/0jU+jDmc9hXQwGX7mYMJol z84dp5h0UN3dkzcZZhNZmUFCy2VM9SCqXAoGSbQlIbaLLuIPd5fQGfOTd7UoHF9bv/Wx X06mHuFrEyVeGdvzLoxb0xyqMopx8VCoKk6myoz23D3Zt+5HdmvH4pN+RPxPyxTp0Rqy yhq5coUQSnATUlVWZrWLAA/ObyT2mlNUf3XNL18M+AlD+Ec5oaLPVoX/4oToVBcUJ1oi cRLQ== X-Gm-Message-State: AOAM5304dEXLxlUDg4snthtpz0Z3z2XVQhfes8zzNuZ0bO1WHGSdp747 ZGE1jYN+H529ytm/wBTNozvnoipX X-Google-Smtp-Source: ABdhPJxw3Z1BxVrflWheqogH+PwXwj7+kVAD7x4C9SGvHC17wpdIk807sNGNDYXt3TnqkbR+IK8xxg== X-Received: by 2002:a17:902:ee15:: with SMTP id z21mr23235643plb.233.1591111089188; Tue, 02 Jun 2020 08:18:09 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id b15sm2958089pjb.18.2020.06.02.08.18.07 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jun 2020 08:18:08 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 2 Jun 2020 23:17:00 +0800 Message-Id: <1591111034-15499-32-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1591111034-15499-1-git-send-email-lance.lmwang@gmail.com> References: <1590674250-32571-1-git-send-email-lance.lmwang@gmail.com> <1591111034-15499-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v3 16/22] 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:17:03 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 20102 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 3A4B6449211 for ; Tue, 2 Jun 2020 18:23:52 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D802D68B151; Tue, 2 Jun 2020 18:18:19 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f66.google.com (mail-pj1-f66.google.com [209.85.216.66]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id F1BF168B11A for ; Tue, 2 Jun 2020 18:18:15 +0300 (EEST) Received: by mail-pj1-f66.google.com with SMTP id i12so1520827pju.3 for ; Tue, 02 Jun 2020 08:18:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=UL3bkNjVAg1IryvVSyTEmPmXxbWN5wDw+TQMBZbxK7w=; b=MMrTT4/YcbRtjDYslmlJ+qDqauvSrflI03gqcOpzOdUaHwA29KpCfU31AAav4jQofF SfgD8JATXHeIxSSx6WlGWGYcH+hUmlFQZU921FhRaigmejJJKYreBp4p50QBLP8AAqe4 wk+lwW2sg2GH/lwsfneQB3ItVPKlTuKscVw5n+js8Z1hSPwS1R9RO9Cx3BrsXE0qkKvj SltvxLmkf//FjMzWqpS7XipZ7y+CJGHklb1/ToVPvxvrUTuTzo2Pmix4J9rghSkNWKEl m19BzbcQaLFUpSbP4IlcWNL1pWCm5+JKfXkSlCShQ3TH+6k3BkcEW8J6RYQvY/chwln/ G7XA== 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=T0DkV4/RUzbjeOeeb6jv6NeQDqHbMDYm1KG53cHeW6B992AHq5dmnusvNickCPNLRu qURr+YyHBH5oSVmPZzwCzp9ua+SnheL/Bx2qePh0jECYOugcX3n/JGI057eIv2TbBLfj 2IUml/GuNKEwYtps+r+zLUcbXw2FxH0r/u1co3PUJVv8e24P0LtyHPaPvYgqYeelXf1A AqM31XQ9s3Jtj+xZx4HmUXWoDjp4uUs4BAiyBAbbfgX7ssJViTIWIMFgWZbRPYDrM2AT p0uNqZRXMjyWVJDYtsHzR1+BskgRWjqiPF7aXn5cQMGUBAsGN7fggaHMtkwIeqUGIOYm o95A== X-Gm-Message-State: AOAM530SlrHLTmsZ10S6/nxi8sj7rSEJche0B41ZG0T6w5If/ZF6hoWu PWjU9QdHjJOCa0FLkjiTl+AjLF9u X-Google-Smtp-Source: ABdhPJwL8EbZNcmXqxxhNxFQTdwDVrcV8oaU+kbiJIZsocD6MhUx23+PaENjDOaZMod0rdYxyQgIog== X-Received: by 2002:a17:902:7403:: with SMTP id g3mr1765291pll.342.1591111093804; Tue, 02 Jun 2020 08:18:13 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id b15sm2958089pjb.18.2020.06.02.08.18.12 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jun 2020 08:18:13 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 2 Jun 2020 23:17:03 +0800 Message-Id: <1591111034-15499-35-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1591111034-15499-1-git-send-email-lance.lmwang@gmail.com> References: <1590674250-32571-1-git-send-email-lance.lmwang@gmail.com> <1591111034-15499-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v3 18/22] 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); } /**