From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 7D6B64B801 for ; Fri, 14 Jun 2024 18:27:08 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 7631968D6E8; Fri, 14 Jun 2024 21:26:37 +0300 (EEST) Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04olkn2022.outbound.protection.outlook.com [40.92.75.22]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9683B68D6C4 for ; Fri, 14 Jun 2024 21:26:32 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aOrUr1sSUhjosHoxe38A+OOoXsE+M70KfX4B45kV7ppXi2v4L4t5WGqrfY+vW997a5RdcYSxJsWsUz/zoAdFHfbI3guxKHQd2W7kMeMIsJ0az0EBcEAMn+5lujvoxvKEUyLkqDr2uY4zKxj1Er3pnKvDuVIJj/SRfHK6UBo8yMbOd1JdjWCQmfkKxW8fovkd/VeIZtP1cQPtDtf1bepc7xHcyZk/hqOwhPuOFRv3JVoCt3g2BBZeD0ip2+2R9ugud2H9mARt9tyuCUE+11bd1Z89E9lNBX99oQ5yeA49V6M+fXoZ4bgWD6FrNfS7vfWT6oQeIAX1HXFIS/doVP8dxg== 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=+6EI68OYzIgsahCxWJMT3a2mHnlC7cYc53PojeiwBjU=; b=UZj1Hdp8dSuJUCbbO0bhGsi5XDwsk0ussjVWA9ntYYlmdtaXlz3iNjyt5JljNuX0FCH6yK6ogAq/Owhd684zK/L63hquu4b742Bq/pupsDIZf2FzCjCw4FBkV+dqVtbL76C0MN9cyFIr1ospAaojclSebiENAB4MwHheZSG3XJeNl3DbypHmBoK+Lw3JLGXRz3xD2e11X6U2b3KFxBAVtjuu/GURh58CNoqgsqboZMeVigssB9r0cyA+th/EZWUA26wL0JyWZxGb9UygiF8krn4R+zDKJ7HIyoX2Rt8o32bUav0TYOVxlMtsltukqYzmha3b+22nBy4HusQc6RBmMg== 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=+6EI68OYzIgsahCxWJMT3a2mHnlC7cYc53PojeiwBjU=; b=Yg+zAEmIhlHMCWVIC3hmjK0Lxk7DHxTDvOZcCsXCot+NKlzGt8OBiEFhnJttXm8vrZbyieyi9fYaJ0opy1WGE3ihHVZNsM2kjwdzbohO2Ut9daiihJ+zKEC72b6FDoVVWpYEIOAbOTQKNTGsFkbMVt3IEoHHCNGIWT51+/bOfecr33CZXG8/SxAfvjUvMkP6c6mTjItHcEUytoZxwc943W9Swq/0WwMxUfkWKXJ23rXL4svP/GPZD6N7aLSG2B9zPWtVzrAadBdSZ/vYa/mNTevV66t7+jCxI56NlNN7JupQrrJvW/ljgRCmlxXjc+/Eq9RwfPqhuMoeA7djdO4YIA== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by PRAP250MB0563.EURP250.PROD.OUTLOOK.COM (2603:10a6:102:298::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7677.22; Fri, 14 Jun 2024 18:26:30 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::d6a1:e3af:a5f1:b614]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::d6a1:e3af:a5f1:b614%4]) with mapi id 15.20.7677.026; Fri, 14 Jun 2024 18:26:30 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 14 Jun 2024 20:25:54 +0200 Message-ID: X-Mailer: git-send-email 2.40.1 In-Reply-To: References: X-TMN: [1Q+mgpu5ZeGe3x2Jf6l3R0KoLqzoAoqaXnFiVYTJXiM=] X-ClientProxiedBy: ZR0P278CA0072.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:21::23) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <20240614182558.3088802-6-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|PRAP250MB0563:EE_ X-MS-Office365-Filtering-Correlation-Id: e743a0b5-5ed0-445a-320c-08dc8c9f82e3 X-Microsoft-Antispam: BCL:0; ARA:14566002|461199025|3412199022|440099025|1710799023; X-Microsoft-Antispam-Message-Info: WrIi7wE8xhXUpUHjVVx2cVvfhNcOkYOocy7Thm1SAPaHEwuMi2FitcQBvzn+3IKSPNG3xIKm9vx/z2G2G55MiWgYNhDA12QOGYeiUDP1WkGShnV3GaZqRA6Dt5bgEHQEdCx5v3a+4Bv0Syag1qhVTn/ReVUeKXIFzzKXXJI95qKQIFaglMJcY7UhQzrIjywElQiwJzv/FojWQKn91IpoTdrFQ1WcuNPhR9bfjl4hBfLnpinZlr3OBOst0v2o76uxJ7oOG0+OdSpaeB2EVfD4uA6IkbiYAVD9p42QW6VboeEjdcVRXIJJ8NZmanvsch1E21oIWGilLAAKGFn66bI9romLprXeuwxTpJ+0iMwutK/tZ9YW7cvtAFVoSKyDPkQmuQKUSWseh9eKpZTISAow6S34b+5JLSVMp55hw619grAas0NKpNonx8kt96Wc9SfP+K2BUJFbMurGT5bwDA/7P9y6xck6V5wOWOgU+Caq1vu3Xz7YOMgfNBouwaccfJRcyzitpqj8xla0Wykal7ZzVcgRZv5m3MFqtl+IUJD11njqL3ciubBE85G5Ir3VaRjHzewYZZ35o9vNlsegk+aPsiSWVMTgxuLsg/jrxfWhLZWJs0Qr0JfAzin7Z3nzJVbR X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?rxxxRp/tWyHLbYwDBsI+OIvwXGlifqY9shnqCJ1lXtUJJcUuK/55Mui/CFFN?= =?us-ascii?Q?ZS5qKfW+wm90er3Oh258+2x3W70isJM3WAwGAtw48WLfUjHIYRpLxZwgf0Ex?= =?us-ascii?Q?Hh65WgCalrb0N7VkImveKuDi+Sby81oxkQoXYgacA0xD/E+vUaywnKbxz5hZ?= =?us-ascii?Q?+ohxyeCrsFFoqrbnHwA9prABxDu8pNJs2athd5BebuOIvtpssPHGcQX9VqMm?= =?us-ascii?Q?joZleZ/+ei6YDd6xprzZT63vZ5nBMDlDBRAT4Jb9ttqor9S+OKO99+Gdi5qe?= =?us-ascii?Q?OfWJssIQe6z8+lt7lhFh3fHnz7+KFwsLeOqf+Hw2XFtWTR2X4qFHlcW2tQg6?= =?us-ascii?Q?5PhmQ7quO5eG/8bcGkt0uPbZEJpu5TtjussKswNU4Jd9sE6C7PZOLE8Ni8vR?= =?us-ascii?Q?QWBiVQcmCaWBhnsT9s+8KWOSRBKOYXtxXYeXjP4s2/BYITyK3aRVERXd/8/f?= =?us-ascii?Q?gT1kZe64bWLDc6jiwvbHUK/STl8cuYE7VnQp4w3A73Znu4aPNdKN6H0sSour?= =?us-ascii?Q?YeL9TUpS270SrE3tQNpn8TmVugXqoj/l1H0EM9kcy1bSTox0A4ctlp2HU5Yd?= =?us-ascii?Q?G+++kiv9scAM8XU56iy8Y8tZpTzwVCAqVuDorDyJpohitvZKLP4Nf+wxV7Cn?= =?us-ascii?Q?0Qe/x/0S+2FfNtd5FWxrIJCpAkTPXTWjtVTd5ldGe+OIw9iLbsyr8QJ2+69R?= =?us-ascii?Q?/7GoxTXScN1m+67spF3Zy751y124/Ier4hQvVUWelJ8Mcv0Vqvm8FPHh2+la?= =?us-ascii?Q?EaiCirGuR5BDnNGBiEUqsjr3SawF2ynQBQ4+pHe3k1NHAe/uXfQkSIWNOCO6?= =?us-ascii?Q?QhDR1BsrfeoAiZYlAAYsvkmmGdn8Ck6dAP8LJVQ9+AE9Xkp0m/4zZUnZI8dX?= =?us-ascii?Q?Lt7fIQLrk655Afoz9iWSICbi4joEhsPvb/2iHklV2OTLw3OUwkUTGoTJf9N/?= =?us-ascii?Q?KcSRdCTPK8A0VCW/k6y+o2h9T3EBg0bEtuJyWxonHzxW2ylbiNVp7UkJUiQA?= =?us-ascii?Q?sDTjjrBz/YBs42kbd838YApIce4Sq12BrnCo7I+tivNJp5MHtTeAv6WVja7F?= =?us-ascii?Q?vDhXZFoscw7tkjNoBZQfJN0/9RtYCuRueirRAQ017IKkcxi2NxsSwILXSkJq?= =?us-ascii?Q?TWCQsv3f7hKHcKVif+YeG2fXZg0MrbM/uXOKcqkc4ucP1KqPxUjV08cDr4MT?= =?us-ascii?Q?a5Qmh92m9xmG8x+QIzbUXIqb/jJIRcPBXYExb+997/Qak/WnI9ztzg75iIWo?= =?us-ascii?Q?phFqiuNX7mUa0znvFgyr4eB9bSO5ELuH9e4lPOw7VQ=3D=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e743a0b5-5ed0-445a-320c-08dc8c9f82e3 X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jun 2024 18:26:30.4902 (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: PRAP250MB0563 Subject: [FFmpeg-devel] [PATCH 63/67] avcodec/mpeg_er: Simplify disabling IDCT 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: The error resilience code does not make up block coefficients and therefore zeroes them in order to disable the IDCT. But this can be done in a simpler manner, namely by setting block_last_index to a negative value. Doing so also has the advantage that the dct_unquantize functions are never even called for those codecs that do not use ff_mpv_reconstruct_mb() for ordinary decoding (namely RV-30/40 and the VC-1 family). This approach would not work for intra macroblocks (there is always at least one coefficient for them and therefore there is no check for block_last_index for them), but this does not happen at all. Add an assert for this. Signed-off-by: Andreas Rheinhardt --- libavcodec/mpeg_er.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/libavcodec/mpeg_er.c b/libavcodec/mpeg_er.c index fe7dcd7efb..3cbdeeebec 100644 --- a/libavcodec/mpeg_er.c +++ b/libavcodec/mpeg_er.c @@ -16,6 +16,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "libavutil/avassert.h" #include "libavutil/mem.h" #include "error_resilience.h" #include "mpegvideo.h" @@ -67,6 +68,8 @@ static void mpeg_er_decode_mb(void *opaque, int ref, int mv_dir, int mv_type, { MpegEncContext *s = opaque; + av_assert1(!mb_intra); + s->mv_dir = mv_dir; s->mv_type = mv_type; s->mb_intra = mb_intra; @@ -76,9 +79,9 @@ static void mpeg_er_decode_mb(void *opaque, int ref, int mv_dir, int mv_type, s->mcsel = 0; memcpy(s->mv, mv, sizeof(*mv)); - s->bdsp.clear_blocks(s->block[0]); - if (!s->chroma_y_shift) - s->bdsp.clear_blocks(s->block[6]); + // The following disables the IDCT. + for (size_t i = 0; i < FF_ARRAY_ELEMS(s->block_last_index); i++) + s->block_last_index[i] = -1; s->dest[0] = s->cur_pic.data[0] + s->mb_y * 16 * s->linesize + -- 2.40.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".