From patchwork Sat Jun 15 17:16:46 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 49930 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:9196:0:b0:460:55fa:d5ed with SMTP id s22csp1058786vqg; Sat, 15 Jun 2024 10:17:29 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCViO0J62jCUmOgRipWs7wnetlbXPlcWenBPCEPtfPx4PNcxEJnJqFB+p4s/3hkoyuSgnWLSrNFO2RIzLvlEqbhu/exxa/JCwmf9KQ== X-Google-Smtp-Source: AGHT+IFUHAo/iWHWZw+tsxJFqewh4mNyTvz3r+ej6VZrd1PKiHn7cy7vNxZ/OO0ZJTrXWHHDHVuj X-Received: by 2002:ac2:4a6c:0:b0:52c:76ac:329b with SMTP id 2adb3069b0e04-52ca6e6e6abmr4292553e87.35.1718471849582; Sat, 15 Jun 2024 10:17:29 -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-a6f56e26f12si270570966b.741.2024.06.15.10.17.29; Sat, 15 Jun 2024 10:17:29 -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=s9FhA5YT; 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 5E3D968D678; Sat, 15 Jun 2024 20:17:26 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR02-DB5-obe.outbound.protection.outlook.com (mail-db5eur02olkn2043.outbound.protection.outlook.com [40.92.50.43]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E1A8068D67B for ; Sat, 15 Jun 2024 20:17:19 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DGbo+chs4h+iPTqSpNE3ihkuu0mzdgisMfnIFxfV//D/mplF6Q14UtNehNvE/E5D415C82TRjHKJzhIyMXWzkxiLBky7cmlseamcap09I91JT8TOe5GkqOz/fLqS622oF7QM9TrmDQI+/2zLyzTUqIVdRzOhzT6k/HjFbHAB67uCxBA1Ia86OZFZe0DOJXXRiCtBsPspRo2wnbpSeQuV/M794/DxQ0qMYB3YAo4ry2oAO38JaQDu3FprTOWDXJRC2twWr2YYgHuYxE1ka5vgH1/VmMQqmu8G0kaKYUHCxx5TQgJTF8TFEY4f1vinajgw5eFgs+FyCIHp9N/g7wuHYw== 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=XtEvcTr7YmPRfIJYMTfZ0yCAghSs+LLu28RZ4lnAqQo=; b=US9e+1hcFb5QETk2wUBLedu4lmZuatVU+XW/e1VsOiwXFNT/F8ac81KjySUpTfMUhs7oKcPA2XMSPN7GlyXGlrgWL9hrHxvp2+q4rWWHjuraE6TmAtsC19J0SXcpZalA4BYpsLWWMkLiO3xzqb4X2+YbhyDPHIXhwR+KJDvoGPWA1cgBrdQeM0j+wooZQ9IgMXPacUpJlq2gGZkU/w0U7GNAKNulxG1/7NOyiKMpmH62xm0Q6EP9hMgKRRXDzkXabmcdEDoGxUudzT+woFos6cScsKx1b59vNfbe1mVD0E+pP60Lg/1OVhTnoekWWrL6tt+O5YnFerccC/FxngNLFQ== 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=XtEvcTr7YmPRfIJYMTfZ0yCAghSs+LLu28RZ4lnAqQo=; b=s9FhA5YTpp6ThzkVLwook0BhtQokkYaqT0bHl66rL5hb9vBiaeqNcJzMe3x/k6ux7sPSg3eeZq7nbIeUoT2RfKthrfLQM/q7D4k7H3nkp7ZPElUxfiUotwO/MF7VVlYRhqR5guWIyv0go8SXYOgKMnexJFzG6odKE6nS/WYECS0S9/QC1uszvaDx2rOCPp7d1nYJtvXjw7rvGytfap1/ssH1ULsyP7dKfIoD3txiBZNcL/0RZ8HboPjjOR4cb//nsUoHUk2ID8uCFhZPda2LBedXtXdDO+VGUjCIEJK5SSFO5JZFH3gvvAQaOSmDv/qDG8v6qmmC2uvok1teky/SAw== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by PR3P250MB0131.EURP250.PROD.OUTLOOK.COM (2603:10a6:102:176::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7677.28; Sat, 15 Jun 2024 17:17:18 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::d6a1:e3af:a5f1:b614]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::d6a1:e3af:a5f1:b614%5]) with mapi id 15.20.7677.026; Sat, 15 Jun 2024 17:17:18 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 15 Jun 2024 19:16:46 +0200 Message-ID: X-Mailer: git-send-email 2.40.1 In-Reply-To: References: X-TMN: [Cz/+2VBzIFP1FpQThPrC6QDhohTzkEkD] X-ClientProxiedBy: ZR0P278CA0099.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:23::14) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <20240615171650.3721642-2-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|PR3P250MB0131:EE_ X-MS-Office365-Filtering-Correlation-Id: ad4a73ee-4dda-4820-012e-08dc8d5f0275 X-Microsoft-Antispam: BCL:0; ARA:14566002|461199025|440099025|3412199022|1710799023; X-Microsoft-Antispam-Message-Info: 94KqlSmvjQdomxrA7EWQZtyWGXNahX+Rl8kzLiEjy1q+2ohnp2csa+OAXkSvH8aS4S8652Xv+4VCTvZZVE5zT7qKH4foyD5+PHBtwgPAe1CFKE47popK68duuV8IljKblyxFOHAq93I7tzpTnUnl/rKGpMsvGz7ypQahsFhh66EFtTNe+/xsmd4R27EAVHI06BDRCKoh8GPHUSns4+t9ve91zzPzKA6Kq6F3oNqx6SJlpjQ4+21uayK9Xh9AHyzIJSzJOdxuSCkZ19/yKwT3+TDI1Q+TOUMnQ5V6djVylk959crfqRl62HkopIfs3o4txrRv5avRULQc9ChrpbWhOd1QxbhyqDoCFT6CPitXGOQioFhAXDF2FTh9YbAgZurtb2SCY6Enf9lwsxwFzMEodhBwN/g5Mff9Z2KeiXfXZdWePDNgCpQQHanO5zt6iJPsbA/9nzunPGBzJkzwtsGizPf3PUJ6fjQwA82Q5T/pQKo808TI0SAjtx8yzUf403JoKv/yvnse9v+WN2DzDPoxh2uHbTk7dT3rKW4wdAm8X0TaJP7ag5DeG+iuebLEt/dwZJE8eTQmcm5bTHujfnM9Bw7o9W9y9RLVK1VC7zJ6S3RWh3cMFDSZ3J1rUEH+LZV+ X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 6cqs6DI/YYixBDHPO+MRu7/sfp924gvgEW6LQNnW+BJpbp57H0uFSy82G5uXverK8TDM8U0myVWQdADMkvlPmPmGuSW3RkECbuwBz9vbtT86RFznFqc88eKqxnqlRCSuwvcqGH6Mp7x3zUJEoStEeU0ueKOrwmgVKialR0YnPog8evmdNu8SftSZXYwRjEKC23hnS4h2hzo5DEFJl2TjcBc0ob1Xi+p3mhGbdf7fttFKQw4vF4mbrWUysTSwjaXdGa/dUgrjLpYpP1h1+w3VjXHZ6tSUNZOaP8SdZhtzF13VevHjPUVObU6QJF6Z9rZ+EJGpWGc/407Kt+A4BQBkVJ+SeYaYmIQrdcwzq8olwu+KwBm6HkUjvilz7yVIzzcKu1h3rEQ3jwGKmlNkQtwro6E25R6oK3vAkhgKBEUVLhrnXBh5tpfcFJKmWZvDdUxxyBFH+XuI16VI7ttKkKKKRne2RWD51BgI8H3CJ1jbrA3QI0T2HZu0qVfQpeoKhFAXf7TPcrIlopNVXxgxEg5LCEaFD/vQi3n9pT8xEIAZEcNNK7mr+d1A5H91Le16ioVW9w7HM+RyfD1wiXaXII2w0rFE7Z7+5IyX9nc/ImK/K/7TJpfSB+ZykJA9i9MNnCukuPPnq15zQTczs0Os17Cb1a1rT99jENlI1rPJY9b3fqzhQFZLNtBLaVblC9hi1JtZ3mOBQaROkx8DbfkNQJ6WrA081chsoQw8B8P4FQFmPxmwqP79fCOSI4alA/+JrxHckA6GLU7InKeu8eyima545iRwrIy3TVib+/38VggS6ODIdlXjv0D90c1+NXPVHbYAoVtT3QxX5UJIiG+L0atO8TP221ita/TzyvN7dN7EpbDRzL82Q948mQczYLdKTvG1M1OiLaUAZ+boeErg6ex+PMmwtoVCxJAFRxuEg7LCITJi0nhAJZygcC+UWaYxhVGhL7gu+VdwNubZNNvzqjDUWot6eB5B9eomh2X0/AYmcG9t3BiYL8zXD0hf7TbA1u6sqy4/k4yh4ZTBFHfvJ12RekL+ZiZI+z7A1Hyx1VpuN+xH48BgkJy6L3GqACXNCNyLHOofM9cwuFWFsnbWosr6xC6vnwjbbRgR8kZZfwd/ikV+wXC6deIDYCTk0zlOLyZTXKLuPifvXZ6HHP2XvucLhdAHq2HNjG1xQGxxPYxRM0OMlS2RuWDHn2n4oZ/2ecbQ5e5hVAyl8bR/ivdUpfIBTkYOGDqGAFCtJb5btgMvUL0mqNVeR4+Ww+llDvmEb1BBPTTfFnBWPcLpnDMgoJ3fmw== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ad4a73ee-4dda-4820-012e-08dc8d5f0275 X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jun 2024 17:17:18.4374 (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: PR3P250MB0131 Subject: [FFmpeg-devel] [PATCH 69/73] avcodec/motion_est: Optimize dead code 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: s4Wc6RL9UtTH H.261 does not have B-frames. Signed-off-by: Andreas Rheinhardt --- libavcodec/motion_est.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/libavcodec/motion_est.c b/libavcodec/motion_est.c index e783e79a94..554fc9780e 100644 --- a/libavcodec/motion_est.c +++ b/libavcodec/motion_est.c @@ -537,7 +537,7 @@ static inline void set_p_mv_tables(MpegEncContext * s, int mx, int my, int mv4) /** * get fullpel ME search limits. */ -static inline void get_limits(MpegEncContext *s, int x, int y) +static inline void get_limits(MpegEncContext *s, int x, int y, int bframe) { MotionEstContext * const c= &s->me; int range= c->avctx->me_range >> (1 + !!(c->flags&FLAG_QPEL)); @@ -551,7 +551,7 @@ static inline void get_limits(MpegEncContext *s, int x, int y) c->ymin = - y - 16; c->xmax = - x + s->width; c->ymax = - y + s->height; - } else if (s->out_format == FMT_H261){ + } else if (!(av_builtin_constant_p(bframe) && bframe) && s->out_format == FMT_H261){ // Search range of H.261 is different from other codec standards c->xmin = (x > 15) ? - 15 : 0; c->ymin = (y > 15) ? - 15 : 0; @@ -921,7 +921,7 @@ void ff_estimate_p_frame_motion(MpegEncContext * s, c->mb_penalty_factor = get_penalty_factor(s->lambda, s->lambda2, c->avctx->mb_cmp); c->current_mv_penalty= c->mv_penalty[s->f_code] + MAX_DMV; - get_limits(s, 16*mb_x, 16*mb_y); + get_limits(s, 16*mb_x, 16*mb_y, 0); c->skip=0; /* intra / predictive decision */ @@ -1088,7 +1088,7 @@ int ff_pre_estimate_p_frame_motion(MpegEncContext * s, c->pre_penalty_factor = get_penalty_factor(s->lambda, s->lambda2, c->avctx->me_pre_cmp); c->current_mv_penalty= c->mv_penalty[s->f_code] + MAX_DMV; - get_limits(s, 16*mb_x, 16*mb_y); + get_limits(s, 16*mb_x, 16*mb_y, 0); c->skip=0; P_LEFT[0] = s->p_mv_table[xy + 1][0]; @@ -1140,7 +1140,7 @@ static int estimate_motion_b(MpegEncContext *s, int mb_x, int mb_y, c->current_mv_penalty= mv_penalty; - get_limits(s, 16*mb_x, 16*mb_y); + get_limits(s, 16*mb_x, 16*mb_y, 1); if (s->motion_est != FF_ME_ZERO) { P_LEFT[0] = mv_table[mot_xy - 1][0]; @@ -1489,7 +1489,7 @@ static inline int direct_search(MpegEncContext * s, int mb_x, int mb_y) if(c->avctx->me_sub_cmp != c->avctx->mb_cmp && !c->skip) dmin= get_mb_score(s, mx, my, 0, 0, 0, 16, 1); - get_limits(s, 16*mb_x, 16*mb_y); //restore c->?min/max, maybe not needed + get_limits(s, 16*mb_x, 16*mb_y, 1); //restore c->?min/max, maybe not needed mv_table[mot_xy][0]= mx; mv_table[mot_xy][1]= my; @@ -1509,7 +1509,7 @@ void ff_estimate_b_frame_motion(MpegEncContext * s, init_ref(c, s->new_pic->data, s->last_pic.data, s->next_pic.data, 16 * mb_x, 16 * mb_y, 2); - get_limits(s, 16*mb_x, 16*mb_y); + get_limits(s, 16*mb_x, 16*mb_y, 1); c->skip=0;