From patchwork Mon Apr 29 21:14:32 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 48409 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1509:b0:1a9:af23:56c1 with SMTP id nq9csp2272953pzb; Mon, 29 Apr 2024 14:20:46 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUXwWrEomAWIAOP+VbdZxcemNh0vP0d2XQE1OX2acrFNBTc1hwM8FSTzIgVCI2U+RPivLPUvVhZuB19XNLlivVJiX+aquL6pLyzYw== X-Google-Smtp-Source: AGHT+IF03tgH31zriIPFkmV7vBNdyM+5eEDDXR4k1ARMLBKbfMv7ZVxjOkLCJrV9AiqZ6LJsDhxX X-Received: by 2002:a2e:731a:0:b0:2dd:f67d:95c5 with SMTP id o26-20020a2e731a000000b002ddf67d95c5mr6488994ljc.3.1714425645963; Mon, 29 Apr 2024 14:20:45 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id q28-20020a056402033c00b0056e2abf021asi14231617edw.256.2024.04.29.14.20.45; Mon, 29 Apr 2024 14:20:45 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@outlook.com header.s=selector1 header.b=TBPqGQiW; arc=fail (body hash mismatch); spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E734568D62E; Tue, 30 Apr 2024 00:17:47 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2090.outbound.protection.outlook.com [40.92.91.90]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 49E2168D61F for ; Tue, 30 Apr 2024 00:17:46 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SfUgVjrcTKdQ/lkwYWPvGOlr0c7Hh6yvZ4PW6U/3TmYIeMYSXVev3pT37oaO2KwDgeeVfK4i43+8ZP/sFRbtNzvAIYho2+Nt/ju9NtSpS2MMpRFodSgGff2FxxD7c+ltvk/tgkUZoSY09q2/wFkcHPckyksKbw1U3x0amqxm/HetqYX21qnZ0KOJMFn5ytZ9NtnE1ajUxNBFaRsID015rIiPIJ6o3nbtLtz0s87xwfW/QAMpHQ6eAisAOO35h1kxOhl8P9+nIKMtyDeHuXFQ/V1yOWDtg92D5tkqWel0s1je39H4cPJB3VgyUpIirH+SNFrROZIgxIQAYVcfJBE2vA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=g84bbrTieiINxvIGsFiMU1cQCmRYQEgQg+lbq/+P5GE=; b=HbRrIKDxv1FSvm8hQMIio+eow8rbBQEh+kwI7VtjPEHdb/cchWE6QYzBptcBgo2B2NkhUl2fMd5OpHzKtu3BdnknZGpgEpneDVPN3wdUVq3cNA/A8F8SHtd7pDMsz5bvD4urg6Cd+eAeKqPANdqRkkdzV5YfW+QFTVGrAddXsxq94bCZW+T6j929bh0aSJ9wJWTQsV38o3EOegMDTIWTK3w4gKuomGfTxYKRhLSfw3ywH+sF99TqJOhDJYIEZoqDx0aJLgLbiB9dI4eRALes36xdgY2KuVvVEgITfoWSeMYRJnWkkUCBA+ZYtW9tvnqyN5Gqm/+gGNSqwcS+vwossQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=g84bbrTieiINxvIGsFiMU1cQCmRYQEgQg+lbq/+P5GE=; b=TBPqGQiWZlnhj8DzZy+lp7WkcwD6w3rLpFeE+4pzx9nQxsUmrojL0Q1Q2ug++EUcikVGz0+LhpFhW45CdLv0OdMLyNRpbRW5CRIw82r+v5uyRWzieMaiEWdA2o5WY7NE6+TgiGL+AeGlibasGVGYSGRlsBZ3ux3sajNCKkI/Kn1aNSxQXEG4GuTNPKBLZMR7W9pF4TZHbZedJ+143Hg3lm8lm5ZOmYx56GOmRmLS+NigjEikAjZU4NxHgwwoAdHE0GzVc5YyKLAZtCUkAjiAYhMaGVclgmW+RJxQgLKnBdhUxM6tB49xxfLuBsmJx4sS+S+OqppnU5jNEO0gJ9SpdQ== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by PRAP250MB0616.EURP250.PROD.OUTLOOK.COM (2603:10a6:102:297::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.34; Mon, 29 Apr 2024 21:17:44 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::1f29:8206:b8c3:45bb]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::1f29:8206:b8c3:45bb%3]) with mapi id 15.20.7519.031; Mon, 29 Apr 2024 21:17:43 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 29 Apr 2024 23:14:32 +0200 Message-ID: X-Mailer: git-send-email 2.40.1 In-Reply-To: References: X-TMN: [3MwfB1rudOH2IF4vO3eJvMgE68D6z2bZd/SDY1EhIe0=] X-ClientProxiedBy: ZR0P278CA0199.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:6a::21) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20240429211438.3274834-37-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|PRAP250MB0616:EE_ X-MS-Office365-Filtering-Correlation-Id: 80b90d70-39f3-453b-62cb-08dc6891ced4 X-Microsoft-Antispam: BCL:0; ARA:14566002|461199019|3412199016|440099019|1710799017; X-Microsoft-Antispam-Message-Info: qYAC0S3n4EfsqvCCfcla6bwA+vVn5hUCXGLMsCvNIjpt2c6Dymwc2EisIX37NLA8xKEt/L0lL7t1h6SgB/rtrCWqaecIbPTcMezuDnGxx6/w06Avf0c+iwNZ83sYt0ti3XVmgrKPXu+5AQGYnjM2P06HM8XIW6NgIX8sIDFUZhQoamS/aNksOR8fa0rgsGKX8VBjrxg/uzA8GlXj2yybPDJkN6xaUA3xHkmUfTTdm2zmt6UGIeASOhvdpCKdOCfailn54gxp8yFqmufPeldQYEMhPL38re+SF1ITaZ3Lxkzn0BlJ7LtA7wHpFZCozybDejxSXuU4mQKod/3FNMaHWEonvrvvdU67eIdRgUsOlchPsOWcmjeueYC1G/pQ3PIVNylKhlaeVw/hgolf7GM2Gi/yl68yqVfGFOJTMH5t2vEJ7DoPs4AwORn1hugTADEQZEmniNDvTv+IqfyuIBdqzytl5qYMQ6+bZxZcDfMYGtzd0FuaS3CONO52Pzswl+kj46k3l8/bKGXItjx6jAas9Ec6Lw7yKNs3fQHUI2esSgs+b1B8UNwAu85LX8AX2NoR1ThlMlTpd0YohYtW/8xJKe8h/NPrmMR468C0ywMtxrkQMH0/OUX023IyNzcR0O5l X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: KA0IB5GWvAis6g2yrECEpQDjnH0RIzvUieGB/d/qFqwtoonthKah2zkn4OoDe5qu7pEfbCdy8IDfO1UL55hcl1SqzodGfvgv8RPbSHDTMg6+p2AWQ3Lyi/e2OIwu9OBY1Mdoct/MRZkhASW8c4568Z9D7iyXuvTm5IUyYV4L0N+knsiEKZnWqJ28pfRllI9Q3XmPAVW4za7oK8EV0Pm4yEaL+mnYtfEJ2k2cUbzj/MWd2iLeA7v3Z6U0g67YQmjQRQBQGIQXfsZlM2ZUas3NNRlXmensMp5b5GM5YPQK9k+1HkAeXqKvNXnkxPJ3+b+Dp7h0AFRvkIPP6W7Q6HibT9Bouobgc/MEqJd4HknqW0QtCU3J0t5pLwDwdIrnmMuyf+PGReDJ5gFOpke+X0CFMhhqQ6Go+Bw9for5/Hwv0JXxnUuNCwoir0n/hdDPttEA1f+vlEDytYcGBtP9p+xMosc6gHMfEKNVIbfqZ8lobwxJ2HESNGfWTLaFnOFRE7BHnB9pZzvFTsW6aA+JopWt5lUlRdoCAaUeJo5dSy+jBpx6ZF1+AiYYbVVMGIOzWhTr3eJou2F7Xof395IaiWPUdgEvFidiwRCZ4y9vVRpkcMaRR6I5L3o57IZ2eHaa2dlOkDBBWcuCBecv+XXnbFOz4Zxs1ochdogvRV85t3CoAkgoFzOte3q5zCHJaofyx08VASlkO3C/0KEWegrexS/SaY82wM/YQIBcS7/3MxC8mWtObFduoe9fN6nX6TT2QE+3bxJUarfx2JSQUuQzMafCX7rIn5ViU9N3C0Tw6hNYtCN4KxtPi4yk8APR1ZygXnGWafQc8Du+ZGTW/wJnSmlqknGmnILIzOp4RvO5kCR2+uY2w41d27EgMV7/O7HrzSbwD9zm5PofdMrdcVGauk7EPdNmLN4L3TeXw1GhoSEifts7fWcazcDZgaSYV4m5kUFuPLOVKATMjg1OueOnM5fKjfyQCb/Us3ClKISjwIILFlMkMXV2MUy2c57XQ/qEyhUpiEbJPNVtC5EWqw+lfG85s7DuxDnVXP/46pR+vXE6XHXK1sUSn/AekhHiaga3wNDn+xsXlozMjGnNuIrddHP6I+SFQaD0Br5XEOui5qGdWDS7PZ9JZi7G8XVnKAqr2zJPe7SyQVbqinuvqhyApMgbS4w8yAl8Cw5hYnqLoqzA84duXyj5USJn/gGrjQ0tVWQgfTdcrj4PiJRKQMhv9C7YXWDF8sVHzVN5+xOq91l/PUMQlZCl0KD2M1nLf8vh0HUbxKDevY/cbAnX18oHsPUJ4A== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 80b90d70-39f3-453b-62cb-08dc6891ced4 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Apr 2024 21:17:43.1259 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: PRAP250MB0616 Subject: [FFmpeg-devel] [PATCH 51/57] avcodec/mpegvideo_dec: Simplify check for "does pic exist?" X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: YpCf/pyduCjD The days in which an MPVPicture* is set with the corresponding frame being blank are over; this allows to simplify some checks. Signed-off-by: Andreas Rheinhardt --- libavcodec/mpegvideo_dec.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/libavcodec/mpegvideo_dec.c b/libavcodec/mpegvideo_dec.c index 9d2b7671e3..f840dc9ffc 100644 --- a/libavcodec/mpegvideo_dec.c +++ b/libavcodec/mpegvideo_dec.c @@ -312,9 +312,10 @@ int ff_mpv_alloc_dummy_frames(MpegEncContext *s) AVCodecContext *avctx = s->avctx; int ret; - if ((!s->last_pic.ptr || !s->last_pic.ptr->f->buf[0]) && - (s->pict_type != AV_PICTURE_TYPE_I)) { - if (s->pict_type == AV_PICTURE_TYPE_B && s->next_pic.ptr && s->next_pic.ptr->f->buf[0]) + av_assert1(!s->last_pic.ptr || s->last_pic.ptr->f->buf[0]); + av_assert1(!s->next_pic.ptr || s->next_pic.ptr->f->buf[0]); + if (!s->last_pic.ptr && s->pict_type != AV_PICTURE_TYPE_I) { + if (s->pict_type == AV_PICTURE_TYPE_B && s->next_pic.ptr) av_log(avctx, AV_LOG_DEBUG, "allocating dummy last picture for B frame\n"); else if (s->codec_id != AV_CODEC_ID_H261 /* H.261 has no keyframes */ && @@ -332,8 +333,7 @@ int ff_mpv_alloc_dummy_frames(MpegEncContext *s) color_frame(s->last_pic.ptr->f, luma_val); } } - if ((!s->next_pic.ptr || !s->next_pic.ptr->f->buf[0]) && - s->pict_type == AV_PICTURE_TYPE_B) { + if (!s->next_pic.ptr && s->pict_type == AV_PICTURE_TYPE_B) { /* Allocate a dummy frame */ ret = alloc_dummy_frame(s, &s->next_pic); if (ret < 0)