From patchwork Fri Mar 13 14:30:01 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: numberwolf X-Patchwork-Id: 18177 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id C145344ADA7 for ; Fri, 13 Mar 2020 16:31:33 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9B7F568B0D2; Fri, 13 Mar 2020 16:31:33 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from qq.com (out203-205-221-155.mail.qq.com [203.205.221.155]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6871E68B0A9 for ; Fri, 13 Mar 2020 16:31:26 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qq.com; s=s201512; t=1584109881; bh=swkiP+szTh2RPj5X9XeLv23FNL+/EcKBP3Qfi7fqvYc=; h=From:To:Cc:Subject:Date; b=cADoaqHpG3BwVDqfVJzaQtNNr+SIUEIEnCea1rMiRmHr7g16nPIUL5F1jPMooCmeM sgh+pMOG1w2PPULj0MfRpeU2yzSzP+5VFGoYIpPCxd7l5NwYfgbepAymXhr/OjeOG1 n49SDNDnF4VC7hULgovtoSaaLEOBPUTx7GubvgWg= Received: from localhost.localdomain ([123.126.85.189]) by newxmesmtplogicsvrsza3.qq.com (NewEsmtp) with SMTP id 7D22B2A3; Fri, 13 Mar 2020 22:31:18 +0800 X-QQ-mid: xmsmtpt1584109878t9fumxqia X-QQ-XMAILINFO: NYQkZRfXnWtVocIC3tFoRbzztkmarxfs7WxoYykfPKQvX3C6nqlOOlRiRGEWms omokn6exPO0RzX8LtW1HGh2jEjai6LrbUrOimqKR0HhlYP3g9sOxvsQbFY6ljtxyp4n9t8t33vMz wK5Ly2F/DA/fkVdrhEkCa3QOvG5hpir4vKXBkVhE6HfnU7BGrFZNxqthFVczOW3r23MzoUySknFH 15MNIJu8QGX3KxxMOjuAYOBxuHpPFzNj8XUtC796ghYTdYF3F9WvRAHl/kxGMnjyDTwa41rExonv 0eyUIY40WPkUmEF2Okvzy5NhA2L7ccskzzJA5ZLY2ob8AyYAi/bUDiL7yA9e6cvFtEFCtbFI261t essqhpq2ql6v5oPd6aiLdgOg00dOpIybfoAiWj21dOP89fumOH/WF7GX1+hen2lJwt/BNjvcL+3w LzWvddkEpYOSq1gK/WxJm5JMe4/FgaeTDXZuL28SKuGOkGL5w2i9m0vtl22OUtSWq8A55LSTi9kO UfGcFvSF29N1O5dwsvmtRw15rcyJGM3hYkxpDxMW3s/4Yk5+Zk51XQNo8X84zOdMFLBSz43QpmzB VBwyUEl7sWiW6WbRoJx79GBABHSBHOvCVTU1XaZjmtczeghJXilOEUxSji5+bFeduvm1Nne0AgG8 JHBzjEje/p73rGcRk030jsm7BJY2yTFRZyFjCzVkHQF/bs9xhvbyw3W0LukKqBYus4Ppyg6j+9zV /Qx8mEIWGXpVf46XhH0RHp+CqeZ+OYzEaQ4odd7FIjCDo= From: numberwolf To: ffmpeg-devel@ffmpeg.org Date: Fri, 13 Mar 2020 22:30:01 +0800 Message-Id: <20200313143001.1577-1-porschegt23@foxmail.com> X-Mailer: git-send-email 2.17.2 (Apple Git-113) Subject: [FFmpeg-devel] [PATCH]libavcodec/mpegutils: remove useless mv The function which add motion info, but do not need motionless vectors, its useless. And, when u export mvs , loop oper will spend many times for useless vectors. X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 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: porschegt23@foxmail.com MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Signed-off-by: numberwolf --- libavcodec/mpegutils.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/libavcodec/mpegutils.c b/libavcodec/mpegutils.c index c0ee3aa..148d3e7 100644 --- a/libavcodec/mpegutils.c +++ b/libavcodec/mpegutils.c @@ -34,6 +34,12 @@ static int add_mb(AVMotionVector *mb, uint32_t mb_type, int motion_x, int motion_y, int motion_scale, int direction) { + int src_x = dst_x + motion_x / motion_scale; + int src_y = dst_y + motion_y / motion_scale; + + if (src_x == dst_x && src_y == dst_y) { + return 0; + } mb->w = IS_8X8(mb_type) || IS_8X16(mb_type) ? 8 : 16; mb->h = IS_8X8(mb_type) || IS_16X8(mb_type) ? 8 : 16; mb->motion_x = motion_x; @@ -41,8 +47,8 @@ static int add_mb(AVMotionVector *mb, uint32_t mb_type, mb->motion_scale = motion_scale; mb->dst_x = dst_x; mb->dst_y = dst_y; - mb->src_x = dst_x + motion_x / motion_scale; - mb->src_y = dst_y + motion_y / motion_scale; + mb->src_x = src_x; + mb->src_y = src_y; mb->source = direction ? 1 : -1; mb->flags = 0; // XXX: does mb_type contain extra information that could be exported here? return 1;