From patchwork Sat Mar 14 15:28:24 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: numberwolf X-Patchwork-Id: 18191 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 F1ECD4490F6 for ; Sat, 14 Mar 2020 17:29:58 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id BD2D868B405; Sat, 14 Mar 2020 17:29:58 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from qq.com (out203-205-221-153.mail.qq.com [203.205.221.153]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B4B9E687F65 for ; Sat, 14 Mar 2020 17:29:51 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qq.com; s=s201512; t=1584199786; bh=swkiP+szTh2RPj5X9XeLv23FNL+/EcKBP3Qfi7fqvYc=; h=From:To:Cc:Subject:Date; b=K3+9riyZudMHXPHdxYcdTa+FlboR9JVUOsEguPITefmwCMCU5qndWNzDJAGZKndh1 0SiH8pM3Tkz+8OPIciIzbHKO3vu+NuyTQfscnykdp5YSxvDN3+pHjxpLenfcBL4C4I UCu23QCknC3TMBONIsSac6zq70tR8vSeim6Y//9o= Received: from localhost.localdomain ([123.126.85.189]) by newxmesmtplogicsvrszb1.qq.com (NewEsmtp) with SMTP id 76B37E23; Sat, 14 Mar 2020 23:29:43 +0800 X-QQ-mid: xmsmtpt1584199783tzu1fyyym X-QQ-XMAILINFO: NIxK4bZLbubtOe9ya4iNMaVgKrNlXUDCA78lA6VBBV+a0whazHIwPyvym27NqE TmdB4UXIJAPPluYwq3z9wvp46SolX04KA7IGdljyXRSXwbM4BzFgNEWFfBG4baLpyUwioo8VGHAq pFPhLVhhnVfmGp6V841dv5MhxwtChJSbjLJxX5YFn4SbVNDNRmA9fqf9/R97obbi5xsaX09PSCYQ CjalTxNj+MPZLy2KmpRwOaXaymgErXCeps7j3EyLtFLqnbDzfOpWiPlWY75pQQy8HAVysJZ6gxKY QqS4RNzfcuLMoPjdLeRdu6Uue2anzDgUHf8En1xQAA+7OJRX5A2VhLwNAe2xbqnQV8yjJM/Irxgv TKgzhGJFGcMgwtp0datOw7E6cjL5YPFjvtot7JOA+m8P1OOpoQw782FdQoy11dmKcYP657pCNTBS njsCYU7HhQW3KbYgU/aqLNAbBBylVuyl07RVYebI+3U1PlOWupVoWXlj/mkTgf2sQL1SsgEOygcX /YQ//6rF8GX0steA0PpTLCkQzKEjZfVZWP9lwdIIW7ru7kOujPXEn26Efpe4Dd0pc59g8/ywkBwt hSj0sl/6wFuwHipMzq4jwJ60CLaz/m8tPlyZIA1B68kbp4bFL7Qr/H4h/EY1VGU0JX4wDdRFZkVX r8gq01YehPgLbcmO3qV3Be+CLvI/3QiiSeOycFqPNGZhV7GWYAAc8l5Cs+jMxtnWGfJBtM3h9eHy nTq7XtiYFncNE= From: numberwolf To: ffmpeg-devel@ffmpeg.org Date: Sat, 14 Mar 2020 23:28:24 +0800 Message-Id: <20200314152824.22950-1-porschegt23@foxmail.com> X-Mailer: git-send-email 2.17.2 (Apple Git-113) Subject: [FFmpeg-devel] [PATCH] 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;