From patchwork Fri Mar 13 14:24:59 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: numberwolf X-Patchwork-Id: 18176 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 0A5E944B684 for ; Fri, 13 Mar 2020 16:26:46 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E23BD68B0BD; Fri, 13 Mar 2020 16:26:45 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from qq.com (out203-205-221-245.mail.qq.com [203.205.221.245]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 43D7768B09D for ; Fri, 13 Mar 2020 16:26:38 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qq.com; s=s201512; t=1584109592; bh=swkiP+szTh2RPj5X9XeLv23FNL+/EcKBP3Qfi7fqvYc=; h=From:To:Cc:Subject:Date; b=YH0TPPwc4AOipU6nngD1sn35R6GaQtXGL/3wCHV++6/IBL46FLAKtXRnUA+t5ngtO HD1zWUxBes05zqvVzAdMWFN5GXO/OSaYYuI+HTRlHvgBuA+EvBoPTZRGoe3kiKxZTA 8B24T2QcP3CX4hM/lk7siLrK/3okLiywvYkGJ4lk= Received: from localhost.localdomain ([123.126.85.189]) by newxmesmtplogicsvrsza2.qq.com (NewEsmtp) with SMTP id 69205AFB; Fri, 13 Mar 2020 22:26:18 +0800 X-QQ-mid: xmsmtpt1584109578trrx4v2ew X-QQ-XMAILINFO: OdT44vdvdX3gP3vky/eugWXPL7F9knBkyI7+WRrTxlcHQUfoJdo5/STbXKvJe9 uvr3/dQMKpcaBXTX5BTnvILdnrw4s30EVFE9QV4inv2VgxjDcVLuAIfDAnPbkUt4BbBMImVHs+0W RI/7muOWhOlMEj3umVvs2gKNFTXis7xq5LyFObDuKVPu1h0Z2uWs1a0HLA1mYAO564rmhilfssz6 BeXUeGUySUoVBE9k1rhQEpalLA2i6EcWAUbwWQ+b9qMUSPn0GsfwfnNCdGLkpFgRbh/F4An3XJds oRgRkKMrBAwr370JfkEP+YGd+cBxTSHUu9eaMPLIIMVl56ZXHnGrQKgPZO1/sA6T9YVJrkZ6dQad M2khdcUUz8NeWoHx+SdvSVpjvpWro33mlx2OWY3SAgEMJpyIIkJ6nMJGD0NCZolbJL7O8KxAAMwr sbyhUV6PHt4zNUNLV2yDf4TdMsy1r4IvAI0WEFljaCdelyY3AJlvFNiDO6zAhqweXFdH7jGZURHE 7NtH6q9rSuCDc/hD+ml6sMLsVlKyhGrB8qs45HTbEZHfqm3wZmYEezKMTzZpSPgaMSgvPHXDB7wN 14FPW8stagnyQUcB+vB9z2dXpjN8Cg08N3JL/DcWKEGegklPYQdabZALMp+9L+rvsExk84RuKqEO wJNlhUUB7KmurPg7tFi/Iyb8oOzv25mq3g3IvERyWdKBa70XKoyj7bQed0i73lm1OwP2Y7wkNvsn xp From: numberwolf To: ffmpeg-devel@ffmpeg.org Date: Fri, 13 Mar 2020 22:24:59 +0800 Message-Id: <20200313142459.1472-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;