From patchwork Sat May 11 20:50:36 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 48741 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1706:b0:1af:cdee:28c5 with SMTP id nv6csp298275pzb; Sat, 11 May 2024 13:53:41 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXN4vSCLKNS3pJzh9w+KwvSzLV+gQfBoKF98S9eH4HaOQgyYnB1ZM/ccsJ35/hs30CFmoaSyHBuihmuRGDM1WMU0vBbJJdmldfaoA== X-Google-Smtp-Source: AGHT+IHRwGWx/T5li7+zQXC1N6kaSrmVnDjapMedBME0z2IdcBLJ/pTPtmZjl8jlmyBOea4OOo38 X-Received: by 2002:a50:a6da:0:b0:571:be31:500b with SMTP id 4fb4d7f45d1cf-5734d5cebc2mr3805245a12.25.1715460821555; Sat, 11 May 2024 13:53:41 -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 4fb4d7f45d1cf-5733c36295asi3561483a12.487.2024.05.11.13.53.41; Sat, 11 May 2024 13:53:41 -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=NQsDbviP; 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 5AF5968D50F; Sat, 11 May 2024 23:52:37 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04olkn2037.outbound.protection.outlook.com [40.92.74.37]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E263868D56E for ; Sat, 11 May 2024 23:52:35 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XVWZD7RApiIcD9FOyCSMlzZwG4vuyxyqmj0Cgmcf4PS6o4L+Ou+yt2mhBDdVUkPSpAK3ZXDC5i6gKghdbxWQ/jcsMNIQwjFsnJy5+//Ee6i5DXzPXwVdYS4Mxyod+ZsxZhOQt3MmBnSlZgs1fbY+ybUVFEdVGRrQA6GrJATCs0KALTfADh//fDlbSE24seL/fIXlUTEs7RDExxbgMQuU6bi9yIelrrn1crG64IodIYxuBDO97+L+IHVNHx9JgjJNqMcIXsxIm15aeoyzhdZ2mPVaZxpioJRwhpb8jMerJDRALvLdNs6ZcE51RhbYBMvq8ZuJWOCi+Kj5mWuqKAh0IA== 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=pirm70lNkCUtI86A7JIVR5czxY3p6uDIRopK8y6wPCM=; b=lTLFtWrHSIMI6sM2OsdBx4x1yUDVY3y2Ze0cwH5nx9vdeqjDC6SjmUTngdgpgml2H6GHTHMBaBo4d/G7Y+nhizoMrG1SPwmQHTNBCAs9pMkzxsC8vTDuTwCL+TFs4iFl5DcxBb2IHOAdUyh3QzYWFGRaPFCntqlgNLFvSAL43aqbv+RIxf4crg7CWDt58Wg1Jxd+EjLOkKD+uf+pKeud2HXztPv0OYJKNp8OyfVgE24FS+w6O95X1EELeY4pF/79py61ggcUeUGoeVPbVfrb+URexPZ1xWGvVcOOnjZLUMsNjgySTxbnZtDKxcpr5bSGwSqSkOhmkb3+qnZpxIqEkg== 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=pirm70lNkCUtI86A7JIVR5czxY3p6uDIRopK8y6wPCM=; b=NQsDbviPRN0eTEEcmUydfm9ZD1BcN8U+60/48pUXlE/SUFK2Pb+tCiBmIh0AczB2bYUWx3O0B9XVa50tIu88LUpbMa71IMFLK6VWsI6d93mrgEm6zMcgTpo9JtLoCqE4xRrMuPGlFHWt3oNKsjfQpb414fiiuv4XpZl+ogGuvxxZWld+Q7Rk6oTq4pS7+9rhJ4kZ/ka4Qz5UH2U/B9OSqBEuUC7MzHvZPfMmD4kjMxVKS7++CLKAfVZwSIICyHAGlG+5VrvRulPHYUc2fcBGAbQRNXoucPuSPlWhAcFO0PM5rAJ+GmmxgXlnnXSfkFIodcmKnbUStcRVID/T3sK+Bg== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by DB9P250MB0449.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:325::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.51; Sat, 11 May 2024 20:52:33 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::d6a1:e3af:a5f1:b614]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::d6a1:e3af:a5f1:b614%7]) with mapi id 15.20.7544.052; Sat, 11 May 2024 20:52:33 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 11 May 2024 22:50:36 +0200 Message-ID: X-Mailer: git-send-email 2.40.1 In-Reply-To: References: X-TMN: [4klIDaT+Z0iArSE6KMrEx0th/aNrKXf265uN12QZxJ4=] X-ClientProxiedBy: ZR0P278CA0172.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:45::6) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <20240511205135.2411886-11-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|DB9P250MB0449:EE_ X-MS-Office365-Filtering-Correlation-Id: 91d2717c-d520-4b7b-1911-08dc71fc4807 X-Microsoft-Antispam: BCL:0; ARA:14566002|461199019|3412199016|440099019|1710799017; X-Microsoft-Antispam-Message-Info: JoNgfx40slBu85XAVSs/WOq8oUQvDD1/u9ilAl3ltUCclThU1tckhdXloGYMWbsile4TRxLvCQr5Bf8O4i8j48SD6BY5DGNTkaaDgYDNiYWTsu03VyKOWXsqy3EiXWsX8KcpeARprgGA5u1AYFTOU80LLIap6hIvQOCLQePvAM6j9uBaLgB7fZhKEqf61Z2SMvBiOABzrHgqM/68UE+8+4z/JcDK1qE1sTu1wkTlPHfQlCMJKtvOWbUn1CHYsl9k5qSb7E0v186ZkkAlfsM4m20jYXB+niFImsQIHoeW32BrvD7oI0E4AmnFD88BhTXaiKttzCPR9L/XsrUFs2PeyPaNhI4x0p7ymNqJlAxt6yxD3xcnQFRslQP4gaU/MFVpduU7hw0dYUAmNsm41M+u6IlppEXBt0eNu4fTcMNzrCCZWVTLWdzraNFnWdhbXUhgNLW5y38QvjmyjRBLUDzgYDg+rYOXphKPIUZlj0dH2J4A70/7004RLrRnkOosk39NqmjsXpb4JJMLgUyEeDQseKcdOvRDGKOO+Mk6hLoHMv/SG1E9bjZKYjHg+YjJXBpIOWSkgoBX/e1KNXQ0tXpcDDxUEtWN2Rk5ZMoRR7ICyWFGrmK1WB1mqaqeYeFL3EEx X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: PiP1sVtpXpOKsBOd4ljmNNOhWLSsvgVUvIozjb3iT4VD5sTDy8qF07zV70PNHzYHkiYtXD8gWI52QcD5gUbgqjc/wPklb2MSQw3u930K4sWatCojqRaWDlZ+889VfrhNTxXN46tb512IXiuccIzTLpT4tcskoEu2GEiewxe7/A2Q3r3IaEspN2OJHRB7rwfJM2Ob90D8HLFKZnai6GPI2RC8ISQMGXwEM5fA4peUGvbtfQCswLlPTi1Xyzec8SVpxguAvJWTLOTZRqCfEjGEKKOg59EN6w5YLOOIaeHPcG5kyYD7UDeEkBc5yqVMRmey/8n+V11t8K5IqHxlQ2isjDZlT4UbH/hkitlkUmoz5ke/kaenBwUWYahCi94/1kzmp9P/T6pw5VbvlSExrVjNpTHycyyGjQm0y4haDRcbjvB9By+Kx1SxytUySUsEJ1f1aB/S0Tj7KwYoVAUQDYAbIBI3GcWab+3f9g++SeqcysKTO4TRcZhOvM/ZSQcSTPCBnKj4xMBEkTQZk/rxgZkKKueBJopwnYOIjHMOaqIcxvNfdDOzURqmhHNI0gx3GOpkcwAa3+g6IBORF2vmyK6xmPZWvX0ZgeRl0WkNZ1DbqL5O4ohkbrpcPCGuQw6XpSpparY4HqSW1htefcErj28qd4a9nvpa4rznsrIg4Aj5CqRDe+QSe/GIxmIHEHTvBnUWovXQXW1kBdu2J9E2kdp8UZi4a60wopk8pGWYL+YgN/betlwnEm68NW1Mt2eOUjsRyWSMC9uDtpKqGUs6XMb1qoZed5ndULDYMbJaBOoRiS0ZDc43elx0yNUN0wWpFtKEZERgnTEploTGwIBTDazGOzhmQBBBQv7YUtrHxM2Ru3tvWOYM4wbknfNlc2Gjz6TxmrOnDlFtDbGUDzsWzr/CyDXfhX88P1W3tbtxj7/LfNQlGRs59VK9yWUvlZHd2hF8r9ILxUuKt7/XhfEATvM2SO4M4lGz9pVQ91W/XEvChagohra180PhNgbBS45kr6lXsJcXIyGS4ueRXYRz8bAmjbBod2H7TvjhWV38rjoIQC4DnwJ0sOVFJJAHSuUp+YMNLIQBWbqOTuj2s6UXdMQO+Co3e7mcIJoZ1b+vNylxRHDEQUUb3tubeOASw0JnxNKIh22s4OfFWB2XB5OQW5BoHOaUFn/nPnnSEIh2j1+VnZWPqv9/oowU4U4eZLlCKza1uculBFU5Yuz1kprUHMCgLbhwddcqXaCM4WscttXbGisbTN4H7Ltt3zTAdrRKy2JozYQHuhABiKuKf8uy+dYZBg== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 91d2717c-d520-4b7b-1911-08dc71fc4807 X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 May 2024 20:52:33.6221 (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: DB9P250MB0449 Subject: [FFmpeg-devel] [PATCH v2 12/71] avcodec/mpegvideo_motion: Remove dead checks for existence of reference 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: +h0GjmE0k6bG These references now always exist due to dummy frames. Also remove the corresponding checks in the lowres code in mpegvideo_dec.c. Signed-off-by: Andreas Rheinhardt --- libavcodec/mpegvideo_dec.c | 12 ++++-------- libavcodec/mpegvideo_motion.c | 12 ++++-------- 2 files changed, 8 insertions(+), 16 deletions(-) diff --git a/libavcodec/mpegvideo_dec.c b/libavcodec/mpegvideo_dec.c index bf274e0c48..c1f49bce14 100644 --- a/libavcodec/mpegvideo_dec.c +++ b/libavcodec/mpegvideo_dec.c @@ -862,8 +862,8 @@ static inline void MPV_motion_lowres(MpegEncContext *s, s->mv[dir][1][0], s->mv[dir][1][1], block_s, mb_y); } else { - if ( s->picture_structure != s->field_select[dir][0] + 1 && s->pict_type != AV_PICTURE_TYPE_B && !s->first_field - || !ref_picture[0]) { + if (s->picture_structure != s->field_select[dir][0] + 1 && + s->pict_type != AV_PICTURE_TYPE_B && !s->first_field) { ref_picture = s->current_picture_ptr->f->data; } mpeg_motion_lowres(s, dest_y, dest_cb, dest_cr, @@ -877,9 +877,8 @@ static inline void MPV_motion_lowres(MpegEncContext *s, for (int i = 0; i < 2; i++) { uint8_t *const *ref2picture; - if ((s->picture_structure == s->field_select[dir][i] + 1 || - s->pict_type == AV_PICTURE_TYPE_B || s->first_field) && - ref_picture[0]) { + if (s->picture_structure == s->field_select[dir][i] + 1 || + s->pict_type == AV_PICTURE_TYPE_B || s->first_field) { ref2picture = ref_picture; } else { ref2picture = s->current_picture_ptr->f->data; @@ -910,9 +909,6 @@ static inline void MPV_motion_lowres(MpegEncContext *s, pix_op = s->h264chroma.avg_h264_chroma_pixels_tab; } } else { - if (!ref_picture[0]) { - ref_picture = s->current_picture_ptr->f->data; - } for (int i = 0; i < 2; i++) { mpeg_motion_lowres(s, dest_y, dest_cb, dest_cr, 0, 0, s->picture_structure != i + 1, diff --git a/libavcodec/mpegvideo_motion.c b/libavcodec/mpegvideo_motion.c index 8922f5b1a5..01c8d82e98 100644 --- a/libavcodec/mpegvideo_motion.c +++ b/libavcodec/mpegvideo_motion.c @@ -739,8 +739,8 @@ static av_always_inline void mpv_motion_internal(MpegEncContext *s, s->mv[dir][1][0], s->mv[dir][1][1], 8, mb_y); } } else { - if ( s->picture_structure != s->field_select[dir][0] + 1 && s->pict_type != AV_PICTURE_TYPE_B && !s->first_field - || !ref_picture[0]) { + if (s->picture_structure != s->field_select[dir][0] + 1 && + s->pict_type != AV_PICTURE_TYPE_B && !s->first_field) { ref_picture = s->current_picture_ptr->f->data; } @@ -755,9 +755,8 @@ static av_always_inline void mpv_motion_internal(MpegEncContext *s, for (i = 0; i < 2; i++) { uint8_t *const *ref2picture; - if ((s->picture_structure == s->field_select[dir][i] + 1 || - s->pict_type == AV_PICTURE_TYPE_B || s->first_field) && - ref_picture[0]) { + if (s->picture_structure == s->field_select[dir][i] + 1 || + s->pict_type == AV_PICTURE_TYPE_B || s->first_field) { ref2picture = ref_picture; } else { ref2picture = s->current_picture_ptr->f->data; @@ -787,9 +786,6 @@ static av_always_inline void mpv_motion_internal(MpegEncContext *s, pix_op = s->hdsp.avg_pixels_tab; } } else { - if (!ref_picture[0]) { - ref_picture = s->current_picture_ptr->f->data; - } for (i = 0; i < 2; i++) { mpeg_motion(s, dest_y, dest_cb, dest_cr, s->picture_structure != i + 1,