From patchwork Thu May 7 23:05:15 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 19549 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 6A5E9449C24 for ; Fri, 8 May 2020 02:05:32 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4473A68AB42; Fri, 8 May 2020 02:05:32 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf1-f196.google.com (mail-pf1-f196.google.com [209.85.210.196]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 646C168A713 for ; Fri, 8 May 2020 02:05:25 +0300 (EEST) Received: by mail-pf1-f196.google.com with SMTP id f7so3756545pfa.9 for ; Thu, 07 May 2020 16:05: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=GbBStdVc1gadjEH1eL8VgfGIyfqCdnxNYKRSBCNgtIg=; b=W/bS/pvRbqW57bNTIUgE9jSTi9UxUZybQeroxYASkYExONWeCA/H5K9L+nA8c1EcwQ KLoDkQ36DAtdgyI6Hv7S1G4f3FUyrv1CYs9T7fzcv3Wp41r+aw+CWE5tH5oU7ILmOF58 iN+1kB8709HuQMHHR1lbK2wgBEX6blsJMrliYcwn29a4trV+k6DXBgl7ih1oe7C34ssm KraYyYc1VuIBxWjntOO/rQDMYaPALtdoPSdJjOsLqs5S4KJnUJJ9Sv8Q4ARgbCtZUwrY 5JRPaUkzLY0Wx7gVUGOfzCMR3LfNo8r8gzFo+bmXhasHeHnVx7cNIiaGeoQDAWre8N1M Uxzg== 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=GbBStdVc1gadjEH1eL8VgfGIyfqCdnxNYKRSBCNgtIg=; b=GUNZ3zrPaUS+XP/MELhNDFZlLc8+FcDaeMDB3xjOkUrl2q8DtiqaH+0xosZ85hDAm4 F1YiBOH6HyfJ5F0lz/GLXn/wTXLUj4P8dqkN5xkRVcYN6JFPK62kcmx+Xp8bgh/cFOlv 8WmS9GoG9rW7ayyzZyOQVUeXwORdx2aa9u3po7zQGB8FDxC0EuzH9Tas/Fplu8sdprWt KYIC/t52jKzqOqI4yl+zypFaSKjFKBpoBsQlQYhjtzipTBbjFtBwUyb9Qj8QPHc64UlX MOV7rt7yXhSpjNAKK5ygeIEtftXgRITBai622a2dyTB7NjzMK7GorzyNwUb6Ybb7d12q 8Jsg== X-Gm-Message-State: AGi0PuZnlGAwwTs8eCw8GeFREjGGade4EJVUas5iaBiwjI/BYDff3tQ0 WbITbuJhCGwYtWnoNPy/mm4hOh9o X-Google-Smtp-Source: APiQypJXUWkQayuitya38MoIhu1bGb3Y9ta/w8IRDJQ/3U9X3+ntxDdDw5LmDcDmYNiNXf1HjE6Kgg== X-Received: by 2002:a63:eb47:: with SMTP id b7mr13501218pgk.310.1588892723467; Thu, 07 May 2020 16:05:23 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id l1sm738480pjr.17.2020.05.07.16.05.21 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 07 May 2020 16:05:22 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Fri, 8 May 2020 07:05:15 +0800 Message-Id: <1588892715-1803-1-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1588850057-24236-4-git-send-email-lance.lmwang@gmail.com> References: <1588850057-24236-4-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v4 4/5] avcodec/mpegvideo: return more specific error codes for 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/mpegvideo.c | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index 22cab28..5101e97 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -907,7 +907,7 @@ av_cold int ff_mpv_common_init(MpegEncContext *s) if (s->avctx->pix_fmt == AV_PIX_FMT_NONE) { av_log(s->avctx, AV_LOG_ERROR, "decoding to AV_PIX_FMT_NONE is not supported.\n"); - return -1; + return AVERROR(EINVAL); } if (nb_slices > MAX_THREADS || (nb_slices > s->mb_height && s->mb_height)) { @@ -923,7 +923,7 @@ av_cold int ff_mpv_common_init(MpegEncContext *s) if ((s->width || s->height) && av_image_check_size(s->width, s->height, 0, s->avctx)) - return -1; + return AVERROR(EINVAL); dct_init(s); @@ -935,27 +935,27 @@ av_cold int ff_mpv_common_init(MpegEncContext *s) return ret; FF_ALLOCZ_OR_GOTO(s->avctx, s->picture, - MAX_PICTURE_COUNT * sizeof(Picture), fail); + MAX_PICTURE_COUNT * sizeof(Picture), fail_nomem); for (i = 0; i < MAX_PICTURE_COUNT; i++) { s->picture[i].f = av_frame_alloc(); if (!s->picture[i].f) - goto fail; + goto fail_nomem; } s->next_picture.f = av_frame_alloc(); if (!s->next_picture.f) - goto fail; + goto fail_nomem; s->last_picture.f = av_frame_alloc(); if (!s->last_picture.f) - goto fail; + goto fail_nomem; s->current_picture.f = av_frame_alloc(); if (!s->current_picture.f) - goto fail; + goto fail_nomem; s->new_picture.f = av_frame_alloc(); if (!s->new_picture.f) - goto fail; + goto fail_nomem; - if (init_context_frame(s)) - goto fail; + if ((ret = init_context_frame(s))) + goto fail_nomem; s->parse_context.state = -1; @@ -969,9 +969,9 @@ av_cold int ff_mpv_common_init(MpegEncContext *s) if (i) { s->thread_context[i] = av_memdup(s, sizeof(MpegEncContext)); if (!s->thread_context[i]) - goto fail; + goto fail_nomem; } - if (init_duplicate_context(s->thread_context[i]) < 0) + if ((ret = init_duplicate_context(s->thread_context[i])) < 0) goto fail; s->thread_context[i]->start_mb_y = (s->mb_height * (i) + nb_slices / 2) / nb_slices; @@ -979,7 +979,7 @@ av_cold int ff_mpv_common_init(MpegEncContext *s) (s->mb_height * (i + 1) + nb_slices / 2) / nb_slices; } } else { - if (init_duplicate_context(s) < 0) + if ((ret = init_duplicate_context(s)) < 0) goto fail; s->start_mb_y = 0; s->end_mb_y = s->mb_height; @@ -988,9 +988,11 @@ av_cold int ff_mpv_common_init(MpegEncContext *s) // } return 0; + fail_nomem: + ret = AVERROR(ENOMEM); fail: ff_mpv_common_end(s); - return -1; + return ret; } /** From patchwork Thu May 7 23:06: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: 19550 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 AAC4644AC99 for ; Fri, 8 May 2020 02:07:04 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9479868ABB7; Fri, 8 May 2020 02:07:04 +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 02AC2689C71 for ; Fri, 8 May 2020 02:06:58 +0300 (EEST) Received: by mail-pf1-f193.google.com with SMTP id 18so3767842pfv.8 for ; Thu, 07 May 2020 16:06:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=SCCy7mActbr5u3y3aenvGThREuXMNuga/9gUaRiKG7g=; b=qJo30MObNhUEBPzMI6d8164fh6yqaKKZ60/bb30IrtYd2JEA5QPnoxxNhcbVIPLTPA sPzqEYcA5xA4yt+fdyakMErRdN5FqszUfl90eLOTU+5y/7F+CMEJeYgjPDZogSS734lu jTPU6z0Ms38uRa6aZkgfy2hADEI1BihVDah3L9xrslQKjDliVNn+vDrbPhO+e0K9AUQQ BP0vMMpWmjzyO2O5ofOaCI/3KkGLHCQ0WxkYta522VpObBQfSWk/Q3fggbEWnUckvG1V 6eXwpQz/oTYOiWLCvefturo3TvWhZMCC8TzS/Ky2oV131vFIYHmm626vrUWJB3bLlJZX oRZQ== 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=SCCy7mActbr5u3y3aenvGThREuXMNuga/9gUaRiKG7g=; b=Y4hVJr/DjU0eiAvoUohaJJ4/ujr/gzwWxz1zxJpc8Dt7Veq/iPmRk4w+4E9ZrklVwC cQxcmTYUyDZ9L2cTDnKjoE8S1oHF45yXCh+EDyFotHd6Cy4QIUFps+B64gLqv025Xo/p Am4+izWy1P/Yr+f/DLjekgEzzDitpk+8agSRx19G1v0iP3guUcmNe80JqLHvDkDQ79Si baUA9snkBF3FBR5WcKl9jaatXkUEszk6cKG6yqD6Y42IhhYkdVnxooTi8+TjLjfMkqSX 33DKSV/VNJzhyiTEqXHmx/nJZjMb6qO7YnJBpY0knLnB/jrsu/8h/RvtcYpzeqFruZMU +1rA== X-Gm-Message-State: AGi0Pubgb6uTLIvGuO4Dd7VAhd0qTL9HbrG/yWGO4ziJLQ+VkfoDDLBo x/NfYPrbRpEMTdz/yg8z0QFXtiOh X-Google-Smtp-Source: APiQypLU6cWWP+fhzQFVjczoy+lRsha7are6CSGe7Sf1vrVmi8J8ZeTX5G1Qemh698UvIEYkRm0TcA== X-Received: by 2002:a63:b402:: with SMTP id s2mr13940340pgf.322.1588892816153; Thu, 07 May 2020 16:06:56 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id o63sm745629pjb.40.2020.05.07.16.06.54 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 07 May 2020 16:06:55 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Fri, 8 May 2020 07:06:51 +0800 Message-Id: <1588892811-1862-1-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1588850057-24236-5-git-send-email-lance.lmwang@gmail.com> References: <1588850057-24236-5-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v4 5/5] avcodec/mpegvideo: return more specific error codes for init_duplicate_context() 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 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index 5101e97..dd3b925 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -408,7 +408,7 @@ static int init_duplicate_context(MpegEncContext *s) return 0; fail: - return -1; // free() through ff_mpv_common_end() + return AVERROR(ENOMEM); // free() through ff_mpv_common_end() } static void free_duplicate_context(MpegEncContext *s)