From patchwork Sat May 11 20:50:37 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 48792 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1706:b0:1af:cdee:28c5 with SMTP id nv6csp302491pzb; Sat, 11 May 2024 14:07:41 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXmGm+cshwosketyawB0OxCSt02+JyJBJSG2dB+q9pSQIBO3+BteRMjY4LDRveWp5xulLjityJG9XKWR3gcyp0nqXq4c6/xt0pP4Q== X-Google-Smtp-Source: AGHT+IHnzZUQLym2sTHZG3B/eeN5cF2wHudQ9FB1U/jcSYA7M4pbefZ8xZgRxeR7NWfDVW3VRiP/ X-Received: by 2002:a17:906:3c57:b0:a59:2e45:f528 with SMTP id a640c23a62f3a-a5a2d5c96b5mr336765266b.38.1715461660764; Sat, 11 May 2024 14:07:40 -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 a640c23a62f3a-a5a17ba3c4esi349539266b.609.2024.05.11.14.07.40; Sat, 11 May 2024 14:07:40 -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=VjRJiadj; 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 A23E568D857; Sun, 12 May 2024 00:07:37 +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-am6eur05olkn2039.outbound.protection.outlook.com [40.92.91.39]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id AE19A68D6A3 for ; Sun, 12 May 2024 00:07:30 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=j8+djGsG0fg1rgiNsxAg2eZY2rWb6YKEYJqxP2L5pAGEfDIGKdRNA6JJt9izuiE1JDIVovMvBzWsnJwqJMlcypodYWSytgSIV77RSBDNJsoSqngycfeBdvjK8fdQJhAkq2BmrbnyfNMDJLmb/uDGjAl9Ju2fczZcco89Jl9wMCMs3aQbmE/vKTavWXjv1mTKgJj66Ig8zESNlCLxJiOgoRl0OIl/dGEUeiEdui3jmbXfPgzJrpqtAWA144WqVm7/zJ32HqrqPKybcY9jHraTQ6ZyCeP2M6qRyCklX6W0LJm4DJhZvXJporoKi+ExmxYQ+TUzzSMfBhcHx+XNvCdY8w== 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=DyKBmAL/XkWkSSk6VPgVU2AHpYGax7f5cH2EFriP4Bk=; b=W/UAnJ22s7NyXtXOh68JR8FJxdGCTqDCMIN5/vdKc7Gh9DGjsaCBP7vPbIMaYMbjXjr6eEaO1sR7Hq1NlrWHw0sfaGLEehwWF5AMai5kI0ICUg4OZRgZFOYyRVpdH3WkG8vxiMsZp//jVDrN7Z2CyAriFq6GG3fAhh3CsVlITK3VF5mH44TcLxhD5c6x6TSSSXZu4xn3cjCC9943X9OVCnETy6DBUIdQ/ua/oFoDIMKR9bM+hdsFTw1kwUw7uV1zILwOr63jrR20JRZpiMU13LN9ZYTxwXGSsTN8AGdUXmmzJxBBVt9fgdaLi7ggZHlpJItBgU610ftpsE0rW03Dtg== 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=DyKBmAL/XkWkSSk6VPgVU2AHpYGax7f5cH2EFriP4Bk=; b=VjRJiadj9a0PFWusyS081QZAHnbtTijnKDKw7vmibJmvy6kltcN5KMMk4FUegTFCAnnSVEnjL3zecYlGbMx1L1shA4CA92pDSDgLEGK0UoSDmIsRqc5b+WmwOWhV5FaYFTc0na8ubLjE/e9omMVBKFTzzdZly7tjlegkcSEGY8DQM4r+Hqpi5ifmKKvBcs++3Ais9whjtuiGuymPIMgZA+t+8bIiehIvBNkqvV3eaUyr96CQRbOoWGbABr9zBlF70z/Vx2DLwzNzWop+KGKNKEawVNfxrT3JV8kR0SWPb/d3WrCUjHcRf4kJFG+rg9UkhwEJtD7LNFdSikfvDDlWVg== 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:37 +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:37 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 11 May 2024 22:50:37 +0200 Message-ID: X-Mailer: git-send-email 2.40.1 In-Reply-To: References: X-TMN: [IbbXaXFgzZ+6/+O81DD6+wmP1jgNvD37RUpbXTFTXbk=] 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-12-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: 75c77074-6f0a-43df-47a4-08dc71fc4a64 X-Microsoft-Antispam: BCL:0; ARA:14566002|461199019|3412199016|440099019|1710799017; X-Microsoft-Antispam-Message-Info: NBC+VQ2hxNH8iQrH1bBJWQdZjGmyTEYmefd9ucXF1tcj55rfPoP3LsILQfJaSsgsZkzFbSYfKvcdJ4olmscLifDmYkDRzrTSvmRGZZAKul4wzEhU/2oKjHf234EpZwmppiNUynM34BEXnv0wDpXcRkdcQ71uJY+6IL93JaqF/0Sb22v2wvHEjp+uy7HIwL3E99n1/s6xp7kGdp0cPUqi6SpD8vMsPN2nugYD/eGxn9RBQz40S4rdlZFjkiWYMDhNpNoutm8R6EutX+U+HAdZb68CmScOuZ9jj+HnvAOY22XfZSOMo0dFdClNNfLaFzKNNOgs797DY5b2TPgbL/xFApACxQ7j6ppzd0dPo3SmkB7DUF3GMXtIJkoph3IZIhM/9IAqtnRtJxDFmJcqQdmg/XWtv3CQjIv6/7zwKJ9X5pSOLg1A24cO+AlmZknfYNJ5KcyldtC7o3+A5LXp0BLkT+9I2m8enbIz95n4WXkXaVhGJUbXc5zTsf6joUdz3qopiN58+sg9q8qkm+uGOCZDB021SLy4p+swT76D3rE/tXSZAIVHgtz1qkL+GjriDTAXWmIYQmfBwcnBd44RRT+mshP6ASWzlurukS+gdBM3zi9hTLRehEoIXNYFq1ixmepo X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: cJhgRasYbf5vETr8SYUVH0+hL9gwM6gJ4c4X78GdyVFrqvbZv75GhGnRviVlIJuQGuwQdd01Nj/BXydAb9Db0sAm8yoqyBuPqy87vUA7rKyLr3GWM28PzgEUQF1sqBTjIZ+gYi5gGyOCmqBcWDZKBki2/hhXp3zBSeXiIxCv854mM87T3looWdZxpXAHkKtIm1w69xpjOJIgtcHSzkXK1Wu6y4hohkqYzZkvdqyd+Qmyx8IZMAcI9WclDYeY+YPwo0f6xqSK9WsMJzJgg5ARfg3pj/WSZH03YKfwOgkp+Uo6Xbx1+Ubq925SUCfNtJyuzlXWtNDKiNAhbZdXC1L6c9YUrm4An2kfnMbehTQKhNo6I5sRfjsyTVHoTpxSc48/MPg5jjmPzdrjw0pXAWRbf4TVZJlWhop6ua3qs0KWeJZiG1oBZNyBzAx0bHoJFEGmqTd+sDvgfjLVhHHhRo0991mXAmPeJntmEsUU4s0KREQKR1dHMFRg3wDSzvJK9sLwS03GjMTD3KS920zZrZ+8SXHLQaQwU2Tf96s3uIQlD5jmWKvB3UF1A9ftc3Xr3nqZo3q0SVrf1zTGSzaUzDs7lYPgPRW0UkTnGgYVH+rNFTlFyCTUoRAaNzKjj58XY66q66lP3D3kUelWS1QKazeuwLuEUpSDdir3RVloxivULwURl9HMwBa9DScRii7WntJdsuzX8/CGzRf90z+XOY/hkrt3QljvJvinmjFvEyU1GcPdcZ3Jnv3AqLxsLuzBdfTUZkTFyg5/PrOSDSbO6pK51L0mGEbAeSfQBwfRGgy510FYdUOTnHf/DpK46+LSZCMpk/xVMtMa9pc5XK2gRb09DuCUbLhIMSEoIFGBSJMvwE+ZB56LIBQBmTpNO70X152S+HykzqvMbHylgLKLq7Uu9kcYpCz+0pF5osdtKQ3P87zpaGwp0DFoVYQek0+EjOjv2gQs/CYdcFJ6TS4e382Pp2SALfwKxssjRthhnarb6ECbFk6A1GnJv1IAK5K30XtXMBOb5HBbItL0E/ZHkY8wVT8SeUDz2kVlNesbPMeKMvQ8jAdLgFkYjYmHJsaUtJg6I6MQhCweuJ/FgjXtd69cqofVLwlwe2qyp2dCf4Lnd/ReDQlrtfTfL9gOElbTkZlH4Pc/B2jtwQmPU2fhMeIP3dRtpxWtIom/1NknQMps6Si97llnV/fsKvy5V95pFhqXTK3ZnHjbgl7AfPJd4o02tuMeOvrEpX30uWNY2mzfZw2hqLmA/YpHqcwILOR5VWmd9YUjEbKQBpUUWrYZxyxRNQ== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 75c77074-6f0a-43df-47a4-08dc71fc4a64 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:37.6203 (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 13/71] avcodec/mpegvideo_motion: Optimize check away 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: yirqImZB3cWX Only MPEG-2 can have field motion vectors with coded fields. Signed-off-by: Andreas Rheinhardt --- libavcodec/mpegvideo_motion.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/libavcodec/mpegvideo_motion.c b/libavcodec/mpegvideo_motion.c index 01c8d82e98..5b72196395 100644 --- a/libavcodec/mpegvideo_motion.c +++ b/libavcodec/mpegvideo_motion.c @@ -719,7 +719,11 @@ static av_always_inline void mpv_motion_internal(MpegEncContext *s, dir, ref_picture, qpix_op, pix_op); break; case MV_TYPE_FIELD: - if (s->picture_structure == PICT_FRAME) { + // Only MPEG-1/2 can have a picture_structure != PICT_FRAME here. + if (!CONFIG_SMALL) + av_assert2(is_mpeg12 || s->picture_structure == PICT_FRAME); + if ((!CONFIG_SMALL && !is_mpeg12) || + s->picture_structure == PICT_FRAME) { if (!is_mpeg12 && s->quarter_sample) { for (i = 0; i < 2; i++) qpel_motion(s, dest_y, dest_cb, dest_cr, @@ -739,6 +743,7 @@ static av_always_inline void mpv_motion_internal(MpegEncContext *s, s->mv[dir][1][0], s->mv[dir][1][1], 8, mb_y); } } else { + av_assert2(s->out_format == FMT_MPEG1); 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;