From patchwork Wed Jun 12 13:48:14 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 49846 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:c504:0:b0:460:55fa:d5ed with SMTP id c4csp493645vqq; Wed, 12 Jun 2024 06:52:27 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWdSciGxVTJoaxfE+3vHtbn7bPh3sgZ/3dCKHxGXnrU59Qm7Ss3j3hevGJKz5jzPnFw7qpY6EuDz0NK/laHfLS6D6i505ZDiccPuw== X-Google-Smtp-Source: AGHT+IFeMHZ7Vqxs4oqqzvXIck12e3x4x72K3ljAKwZcOzDp4teIgbEo+LYpslyjkJZaNTA7xSmQ X-Received: by 2002:a2e:8747:0:b0:2eb:d87f:7d75 with SMTP id 38308e7fff4ca-2ebfc8f0574mr15700571fa.8.1718200347598; Wed, 12 Jun 2024 06:52:27 -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-57cac75d409si621776a12.121.2024.06.12.06.52.26; Wed, 12 Jun 2024 06:52:27 -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=L6K8UCz3; 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 8DB3268D989; Wed, 12 Jun 2024 16:51:50 +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-am6eur05olkn2034.outbound.protection.outlook.com [40.92.91.34]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5256768D96E for ; Wed, 12 Jun 2024 16:51:43 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bjv3RiMUriC2dzvyQbNDXLHstAVxIq1Fn/tV4XaZ7/rmP6CFDt7I/ejviX5LuAbUURqlN8Vqs8pU6ABI9x/hbtQimlzrYWSA29FFUNYr/0W5MOtMptsAsDufUrLzivfgb4udAQPxMlKOjzbryuonRH7zkauAme0Hc4K4rC0Rdk+wKH8jiy8raRrftBihRIvohHVChKC0KjVvoYTI26oIguce8hH245UZxgNboLe9hD9fFQnhGNWi3NkZwTzq37MlI5ktatZGH8g9k1T2qPfYTiMcorPPhpY5T0lVyi+qZUBWayhB00e8NnJS84Ewf9OFiFtW/E0n24qBs8bToKJI3A== 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=OTIdK+31OsTMZTju4LkfoKrBLbaQvifJIUw0ERBgH9k=; b=mVjBzXZH6A9fVQAX6JTrTxZo6nGHzI4toY5VMx2fLy9R8PofG3XFGsx14tJ5CfJJ5mu7jbqnAYq+zGmYezlg9zsMKwwb51QErNJzlKJiVgdQVIieH6zjgCstXsoECpH2co7Wv4lcaaqbt5IsYjY1rkOYm8Q4dsUPzQ6SiIYkS4zT3npXvsdFaes8xCBLihaZBURMFXKna68S3RVC8Z0LP2pJLc1XhAKathQSg0Zdho7YzKU1O8YGMtiZI0BSvjkMZXOcED1J1pk8eE/iYPmZ1TKIThbf2J6P+3Dz8pe4YoK2plyK7s/cnWKUDs8kksCNnkA7nRKzwNRQdMX1ARYkDQ== 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=OTIdK+31OsTMZTju4LkfoKrBLbaQvifJIUw0ERBgH9k=; b=L6K8UCz3NIpv1TV+w6QyUAE8o6iyOW3d0JII/zYm+o6New3BI23W4UKQIamth5csLo9vW6vPMrVkZgz/pm7CzlbLusyGhoUPFd73+E7IF7oVyJnybGeUHE4VTSiBpw1IwYb9xU4eXlHmmMwd+waBR7rH4r7F5xoKNVGy4NYkFZyp5GarQeAjge9THlek2bPg5HnmnXqiE9e0c7oPZOb80AJrUkayPt3gnNRWgk7uY0LY46Dx6qSklazrqcG2G+X55QfxoRph4FQwb1rgdIspgcXOFlSKUAXNQxTG1bfNyAlihj/917I7Bevtc3Svg9HF82IGkx9Q61qqBcxNuDmmzQ== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by AS1P250MB0479.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:4a4::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.36; Wed, 12 Jun 2024 13:51:40 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::d6a1:e3af:a5f1:b614]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::d6a1:e3af:a5f1:b614%3]) with mapi id 15.20.7633.036; Wed, 12 Jun 2024 13:51:40 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 12 Jun 2024 15:48:14 +0200 Message-ID: X-Mailer: git-send-email 2.40.1 In-Reply-To: References: X-TMN: [S0mSeNXFpK62MvAWevgfh3SOV05n8oEDwaZg/NbgtvI=] X-ClientProxiedBy: ZR0P278CA0189.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:44::6) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <20240612134853.2102377-17-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|AS1P250MB0479:EE_ X-MS-Office365-Filtering-Correlation-Id: d62215ad-88d0-4d1b-d63f-08dc8ae6c906 X-Microsoft-Antispam: BCL:0; ARA:14566002|461199020|440099020|3412199017|1710799020; X-Microsoft-Antispam-Message-Info: BQ/8mE3ZUCsnoxci/rVso2QQkYmpFTLNBj6//da2ElnFGNMZKIadYFAGWUDJ4DUj5hHrLPjBz04eklDxVC8+itHU9WQNERh/4SuzZfw29h44Mh/mtHTQ0ji8BIPKCQokSjnzqlEOXetGJnJTKGPTUZXSI5DEx2UxLZBJEsKCzwEfDU1vrJuxqi7aQjk3Y4QWtGjkAwnX05dKkL1uFcCmFuIISQUDby17OfdopA6VUSa9yysu2+l+7BIhRD5Vn6S9F5YoQ7HdJamwz5UyI4ipfQbeEghoU2J/E9O2ljN0KeDp5phsXb/D/RznTrc6D4Achl2aur+fu+NPj79uylr1oWtHI/R1j4k5sWQrHfpI/xDOMjJ4WVyGIwZ3an/+Bc2cz1UdWwlaJPxIY8JenrUsnIDQyi0F3ES6gG8ukKUDUy9j2q9t2lRHeFCx6vW+zaNCS9rnj6w3+wUwUZfkMpln436pymibjSorBMqWVb3on9LBvSoNC0REUT0EnD0riNciOlJ0SWr07J+yEGVEQycSdDuob/fUxXdY5JKll0ZhmpeoMmmjUALPB3NjYUZE00xq2MlBPHfOuhCKVOqf0i38CP/WTvI2zTHWI4UGqe4WiQr2GIvTYhRxAY15z1wdv5kz X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: T6oMFNcUqvFe3B7dhoXYgYkJzHciZV3P8vN+QIXgJZbyp+cToWLGi4EqfhVTk86abKPQk87UqpMiQTIVtj4PbwQkeUJh/ibyrmBcOkJ9f9u6rj0NqfnJ7DNlJQ1KIKdSu6EX1qe+emH8axYZtqAxxAndN0BblXk8+9fDl8gWtwyXXy33AmlVIUSugDNEasSZOSTVrqUgB9haNvKOpmvot4LqQ+p4iR/R3WC24juWl60tWpJBNaB12ohJVRukO2kR1CLpqJ1jWUTPwxOJebQ8tjQUM7QQCCmpHqqUnejfYZvhXW4a7zZ74aEpk++i2HcuQop3OmC4JBkSsOCFtlSP3H6jvw9oRAaD4QiD6oTh6o86p0Wsb/B8X2p4F+cAy4Js13BqQwCTEHrdn6phDpS4I7elVLSt0xPW/yNQKyLJ7XYaoxft/HBs2p4fhJyP7MSUEOoq+yT151scs/rQDrvJYxfMVbqmIJwUdmgyE408trblDMUo9OAQykzWhANBplLYulb9tfi2zhShAZxLLdGRCO0LIWVXizc/ODRmytJZUjs9/eApLCbx5v8U7oxbU3zVy7BZTcMhRkC42T74YqjJiD7MKsvOfoFIWPoVLCOuqSe3P9I4IVIhnAoFAC5CioDMaQoQaRRfu3shY/01uPUUfbOrMLQ2UnIhYKZi4dtdYDfTCLLWJ1uhRbOQYAr3RVtHnFDColSf4d30yE3/RjYkpeDph2uK1Oke6o/ZthNaPLjh277wqUh4SwroU/mzv4+GTgsFU+IlODqC24FrbiiR6UX6zzObqlVb2OX1wzItvgtYTMXydZ+kbQUMyNn5jENGJ5EH/uQARC+Og3RfFPRch14IUsB2Lg2Jh05RCeTgjnDNl3nKA8FZM6csDHJNVIlujeKu2ZmSLINNHJblSPV/0Gq78KSW6rPJXZ+S9IsBe4u8tgnuH0xPtAwWvx6YXK0zQ+WXzTYwSPkUqXX4yv8MzgdtXNdaJQCYxtfbrj7hEqkYwut70gRkDGJchep9H7HEZcoDdg8RJrmghj4B+jj2zntQJSBLrAfu0nMkJ3tSfL86gtyHSKDNwubcckL/t1n/+TDlCgASJxUPXhFczyfVGIwn8igk1jcadPy6Onl8wzRhQfekoBbDpVI8pixsq2/+hrN3aYsk5cxOVHEIjrslxvjq32K6VnrenLx5GSAj2s02Wwl+7e0dWbQDgpUDFw3UE86os6kE4Y5YbuuRaS+UEGwnUsz8Dl+0j56Ct5NNmwS587pmH+LoowduSpnB1mHhj6+dcbTtfPy6oRCaZ3TiSA== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d62215ad-88d0-4d1b-d63f-08dc8ae6c906 X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jun 2024 13:51:40.1946 (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: AS1P250MB0479 Subject: [FFmpeg-devel] [PATCH 18/57] avcodec/mpegvideo_enc: Check for existence of ildct cmp functions 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: tfX92UcSagA9 Not all compare functions are implemented for all compare function types. Therefore check for the existence of the used functions. Fixes issue #10245. Signed-off-by: Andreas Rheinhardt --- libavcodec/mpegvideo_enc.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c index 11f2a72804..c97120de21 100644 --- a/libavcodec/mpegvideo_enc.c +++ b/libavcodec/mpegvideo_enc.c @@ -910,8 +910,14 @@ av_cold int ff_mpv_encode_init(AVCodecContext *avctx) s->quant_precision = 5; - ret = ff_set_cmp(&s->mecc, s->mecc.ildct_cmp, avctx->ildct_cmp); - ret |= ff_set_cmp(&s->mecc, s->mecc.frame_skip_cmp, s->frame_skip_cmp); + if (avctx->flags & AV_CODEC_FLAG_INTERLACED_DCT) { + ret = ff_set_cmp(&s->mecc, s->mecc.ildct_cmp, avctx->ildct_cmp); + if (ret < 0) + return ret; + if (!s->mecc.ildct_cmp[0] || !s->mecc.ildct_cmp[4]) + return AVERROR(EINVAL); + } + ret = ff_set_cmp(&s->mecc, s->mecc.frame_skip_cmp, s->frame_skip_cmp); if (ret < 0) return AVERROR(EINVAL);