From patchwork Sat Jul 11 11:22:39 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul B Mahol X-Patchwork-Id: 20964 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 3CB4044B20D for ; Sat, 11 Jul 2020 15:25:49 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1BD9268826C; Sat, 11 Jul 2020 15:25:49 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ed1-f66.google.com (mail-ed1-f66.google.com [209.85.208.66]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id AFA90687F29 for ; Sat, 11 Jul 2020 15:25:42 +0300 (EEST) Received: by mail-ed1-f66.google.com with SMTP id dg28so6723622edb.3 for ; Sat, 11 Jul 2020 05:25:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=4QwaL2FiCV/++8umwbwark65fukBAdA5tKThj53ro0A=; b=dlEL27SlBIpS+39qFeuM3G4e1eefjrpek5gsFSe7Doq6emwOIFNaMVxke2Bxytm0Ek wRtM2EA4/gp8RYFfg6USryN9KohnW8A4EWl+kzRMjBCp55hGxCZMpoElg6We3fyFAMtK cQQL307+8FkRZZkTXQjeNftSEe8JV8bEO4Yno5LVCAL8kgKWn4fzi88sC83DoRhqICPT vCZRyf3e+bLkI0tMOj2barcIBQ8fP8nDne8+2wRewopfqPaXuZf5qdiAUuJv92SMapYS 3CrO6ifVawUzUEJBiSL52eQC9V5akT8RyxpbjBjgnm3gvXXGO9hf0y2+TzNuYzIXZilL zCDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=4QwaL2FiCV/++8umwbwark65fukBAdA5tKThj53ro0A=; b=iexrOrnIUF+5fy8V+WvBYFXGWo9xo8DRlH3TgTxB1eiQU96s5V7VVCQXLU7Sm5RtfA 1yfIRG2nT4UZkPQJJ1GO5Ncdr+FCAQ4kWovbazZsYwWeZgXIBQsUMr6+k9IXmoI3wA5e X89z9dGxKkKriNMHgg0YTw8nGR3Zug28Tqr6oeT7qXFC7PQI5qX6mauoGtgKBUeWegiw M8gM3/qqmi30sSl67s/N3AZSNMbV+jEGOIzlcj4GB7Uju2vDgxl1gf0XtYp2ptNwpNng U0POLmpxUQIPDiQHQ3uU+2ICytCdqdJ6dTAws1nV/QFP8J14kPgoD4VDfxzUkah0niFC 4ZOQ== X-Gm-Message-State: AOAM5333i9B+BRjeGiVBPyvtwYXEssTms6ZoZogwKloP3otEHzCsjLh0 y+qb0SOiXMG/HUS2rxPsdrl6lJqxYjY= X-Google-Smtp-Source: ABdhPJzSsARbK/OCrCU7h809T48YmcGw+3JRHE7M0qvBJAZplciYBMUmEnyoGzUMkTUBXdTXW3ZEWg== X-Received: by 2002:a50:9dc4:: with SMTP id l4mr84625769edk.52.1594466568252; Sat, 11 Jul 2020 04:22:48 -0700 (PDT) Received: from localhost.localdomain ([37.244.249.110]) by smtp.gmail.com with ESMTPSA id t6sm5494008ejc.40.2020.07.11.04.22.47 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 Jul 2020 04:22:47 -0700 (PDT) From: Paul B Mahol To: ffmpeg-devel@ffmpeg.org Date: Sat, 11 Jul 2020 13:22:39 +0200 Message-Id: <20200711112239.7433-2-onemda@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200711112239.7433-1-onemda@gmail.com> References: <20200711112239.7433-1-onemda@gmail.com> Subject: [FFmpeg-devel] [PATCH 2/2] avfilter/vf_tinterlace: fix mergex2, first frame is always considered odd 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 MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Signed-off-by: Paul B Mahol --- libavfilter/vf_tinterlace.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavfilter/vf_tinterlace.c b/libavfilter/vf_tinterlace.c index d145e35520..542b66898e 100644 --- a/libavfilter/vf_tinterlace.c +++ b/libavfilter/vf_tinterlace.c @@ -396,12 +396,12 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *picref) copy_picture_field(tinterlace, out->data, out->linesize, (const uint8_t **)cur->data, cur->linesize, inlink->format, inlink->w, inlink->h, - FIELD_UPPER_AND_LOWER, 1, tinterlace->mode == MODE_MERGEX2 ? inlink->frame_count_out & 1 ? FIELD_LOWER : FIELD_UPPER : FIELD_UPPER, tinterlace->flags); + FIELD_UPPER_AND_LOWER, 1, tinterlace->mode == MODE_MERGEX2 ? (1 + inlink->frame_count_out) & 1 ? FIELD_LOWER : FIELD_UPPER : FIELD_UPPER, tinterlace->flags); /* write even frame lines into the lower field of the new frame */ copy_picture_field(tinterlace, out->data, out->linesize, (const uint8_t **)next->data, next->linesize, inlink->format, inlink->w, inlink->h, - FIELD_UPPER_AND_LOWER, 1, tinterlace->mode == MODE_MERGEX2 ? inlink->frame_count_out & 1 ? FIELD_UPPER : FIELD_LOWER : FIELD_LOWER, tinterlace->flags); + FIELD_UPPER_AND_LOWER, 1, tinterlace->mode == MODE_MERGEX2 ? (1 + inlink->frame_count_out) & 1 ? FIELD_UPPER : FIELD_LOWER : FIELD_LOWER, tinterlace->flags); if (tinterlace->mode != MODE_MERGEX2) av_frame_free(&tinterlace->next); break;