From patchwork Wed Nov 28 02:01:21 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: pon pon X-Patchwork-Id: 11192 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 057C844E258 for ; Wed, 28 Nov 2018 04:09:11 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 7796C68A617; Wed, 28 Nov 2018 04:09:11 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-it1-f194.google.com (mail-it1-f194.google.com [209.85.166.194]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2B14668A617 for ; Wed, 28 Nov 2018 04:09:05 +0200 (EET) Received: by mail-it1-f194.google.com with SMTP id m8so3394170itk.0 for ; Tue, 27 Nov 2018 18:09:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=bN3hYnjmtTyYZFkTb4Eh/WmqmiGqBAAY06+JmYrC4fY=; b=be5B1n+dIbJOWQMc2LIYAj2REIv7nPSB4SLckZNkEXBaXeziU0GgqYT4xkhRvLaYhJ 9fSDr/u+ucfa3Vl4x1whn8GTdN2o65VarTE4pQYYqTTecpowm0O7UbIVIiKexsWsg0Pa aootEXqf5gf8xlkFC8xSh5zKCgVP4PWFNcPG2x+bqvWhg0nxOwUE9mN9DJ5zhUkSjmB3 IzmPB8NUp4xhpP3JaZEzefiGMI7JQAVwrdyDcCMDboga5iz9DnQ32SXfOJDv1AJupcE3 V04fNpcMim3xtWm5vqJ7vNs9MGibtW0EfCws7ZC1SB3O1pEwQ8kjNzQVNHFUbq/rrjIr M5Zg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=bN3hYnjmtTyYZFkTb4Eh/WmqmiGqBAAY06+JmYrC4fY=; b=D6amA63sKtLL7Q28gLsgaqi+AHWJcIz6GTqLzhtSAjamRzkX7KMKLiSLiVYAijXhLZ 5fgIqISA7v8hgWf44nq5Df8T4uoj7HcTCIkaUdnJvrqUE+O58KS/VsFndBHixpxTiyLC ucqw5x+yBet7gjUfiii/kq3m9OKvShwUjoPcenZto5rXHDAvLCGLtQabGzvt7pN9f5m7 2Bw8g24sT01nzRClpzGTOLVZgyJffCY8avCFvEjt8rOo5qzmhY7jDpY9AxWY7rkYZM4z BlFlBdTe+WSTtw+Cu9+xB1TYoUyA7RYsCh49274mrhYQxsEuX3WVB+DxvuURcuMRdVPc 4VoA== X-Gm-Message-State: AA+aEWZQXpqqEiAkLbMxz3VgeNTaQR2R3A4qVDF7OB4x4qRDYGFBzvvh gQz/SKiF69dFtEu9sMvt3Oy47ovY4GdN38GhTLuW4p7h X-Google-Smtp-Source: AFSGD/UUvuE9IM/mHzfHRTd4wHGIJ2G49Sy0EZ0HijF0wiU0uZqC7MATH9xj+s3hRPAQBDBX3APmMmbqjI77b7KQ9d4= X-Received: by 2002:a24:1582:: with SMTP id 124mr1236735itq.98.1543370493275; Tue, 27 Nov 2018 18:01:33 -0800 (PST) MIME-Version: 1.0 From: pon pon Date: Wed, 28 Nov 2018 11:01:21 +0900 Message-ID: To: FFmpeg development discussions and patches X-Content-Filtered-By: Mailman/MimeDel 2.1.20 Subject: [FFmpeg-devel] [PATCH] libavfilter/idet: fix double count and offset accuracy on progressive frame 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Hello, I think idet duplicately counts and offsets accuracy of progressive frames, as repoert in ticket #7565. If this is corret, the below patch can fix it. ponpon ff_filter_frame(ctx->outputs[0], av_frame_clone(idet->cur)); diff --git a/libavfilter/vf_idet.c b/libavfilter/vf_idet.c index 02ae2edcb9..8c355ee2f9 100644 --- a/libavfilter/vf_idet.c +++ b/libavfilter/vf_idet.c @@ -285,12 +285,14 @@ static int filter_frame(AVFilterLink *link, AVFrame *picref) if (idet->cur->interlaced_frame) { idet->cur->interlaced_frame = 0; filter(ctx); - if (idet->last_type == PROGRESSIVE) { - idet->interlaced_flag_accuracy --; - idet->analyze_interlaced_flag --; - } else if (idet->last_type != UNDETERMINED) { - idet->interlaced_flag_accuracy ++; - idet->analyze_interlaced_flag --; + if (idet->last_type != UNDETERMINED) { + if (idet->last_type == PROGRESSIVE) { + idet->interlaced_flag_accuracy --; + idet->analyze_interlaced_flag --; + } else { + idet->interlaced_flag_accuracy ++; + idet->analyze_interlaced_flag --; + } } if (idet->analyze_interlaced_flag == 1) {