From patchwork Tue Apr 10 20:34:08 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Vasile Toncu X-Patchwork-Id: 8380 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.1.70 with SMTP id c67csp1498957jad; Tue, 10 Apr 2018 13:42:13 -0700 (PDT) X-Google-Smtp-Source: AIpwx4/mUdkpaenipIH0xaSK9DtC9AXTru8xncyh4nez5ajd8ge0taxljKNjVF1iocmiwnLGznUN X-Received: by 10.28.194.85 with SMTP id s82mr645958wmf.20.1523392933093; Tue, 10 Apr 2018 13:42:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1523392933; cv=none; d=google.com; s=arc-20160816; b=ZrhoLr4rk6i57TcYKyoX1gQpOQvTUn0+YT3qifeoQXx63QA5ZVwkCxi4SVcSRaAA3E kvSeY0C4RviuIAlJ9IFVVI/nV+lOyaK3+qfkS4uAkAg9WMbYgG2XdzF2OPpDXMcJHwkX 93oCq7BRtyLUEPFyuHvKy961B2icdIrF9MV1yipw54aQ2+EuAGEcXGx9pPu3QntYIa3N Nhmg2r8gif9H+510BDFZ1kYDpBUj044u/7aqnGZuEhRxnmH6naoO+WXuC0PRCm25AsR7 e3MfAR+UBE4Jklt2/NKMhQkyQqatt999HwHkC5IveqzPSstkoInYxmdqANRQt+i0sQj5 ddfA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:content-language:mime-version:user-agent:date :message-id:from:to:dkim-signature:delivered-to :arc-authentication-results; bh=B/sThA4JTNoi0CiaD4GVT6Ke94Y6yZ6Wv9Vi78R+6p4=; b=eMzju5dThKBpkQIS9lR1WWMjzjg5Izz1QmdkQXYEtFea7PS4WwXY2FnHikafBNZcu4 G+Oo3idVQN5sXPe77C4zkhVRdDXE5nOC3fxDWm5HNmsGf2ge0p7I30lNs2TZ6f2G4bNA Qg9mCpuZpuxZAafbnGnJDqpD+pFHEglIirgtKOSehYd8e4yDFvSlxos5adNw5vFHhT9k GXOOyIniau/YKHfrc9/+1GvEG7cs1f6AudDXGCRgkKgJoiHkIFrjbJtHfps7fC8ed5gl WN+80l5UAIf8NEIIXBWOvHSBj0n20qWBci8zOG32Y15yD3U2vNzR/FvRqar20RYJ6gjm j+UQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@tremend-com.20150623.gappssmtp.com header.s=20150623 header.b=zjd2c22o; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id t13si2448939wrb.259.2018.04.10.13.42.12; Tue, 10 Apr 2018 13:42:13 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@tremend-com.20150623.gappssmtp.com header.s=20150623 header.b=zjd2c22o; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 2ACA068A056; Tue, 10 Apr 2018 23:41:47 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm0-f42.google.com (mail-wm0-f42.google.com [74.125.82.42]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 77318689F16 for ; Tue, 10 Apr 2018 23:41:40 +0300 (EEST) Received: by mail-wm0-f42.google.com with SMTP id o23so23018436wmf.0 for ; Tue, 10 Apr 2018 13:42:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tremend-com.20150623.gappssmtp.com; s=20150623; h=to:from:subject:message-id:date:user-agent:mime-version :content-transfer-encoding:content-language; bh=LTzPSk3UzBUqwcZNVMlvP/YTrhTZicg286MQZHOhXr0=; b=zjd2c22oBaB27hbp3WSfUB4vY4hRjn8550WlReJ84CDC8Jp0IgM6+N8dA6wcsQr30y h6+tTvixXeSmxqj/TSFN1MYw1fOJHZBlpObaEOSmTIcyukQFuiQM+t3vLUL5nc+Hn7KU YFG8Q911ka9uL/mC273gpgMJ/0LE2/OyPg3cZsx29sewVNuWO0HZpivx6FWoxu+SV8eS EIC78uDRoCDl830KGfS5VJn4ZUlHpNa17SEfeeUZjXryyc0zt187YuB/R/FtqgUKWVMS RUvJfcSEL2a8Uey/2kYZEo1ymfM28SseSfX7RUbcvjcU0yf1flcWf95yCuFfmoPScCXH rNyg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:from:subject:message-id:date:user-agent :mime-version:content-transfer-encoding:content-language; bh=LTzPSk3UzBUqwcZNVMlvP/YTrhTZicg286MQZHOhXr0=; b=DrRL3x20u3dgZ0Gf1aLzIZ3K5Nka+vRw3mZmGh8T3kYCVeGZeBddlBmAD0007ANZ24 Qbftw7hRpNID/SbAZu/ZKlGKaGQQaMcMdWGTuas/19zACHyT62LLM73vBWZPB7nTTMUf /ROnKEbUORbR9jb47gj4eqfUl2Eo+sbrsMdIc4ZpS5Je0PI6cFCVn6nkoRb5OuKDQ+Un q8/GQ0Sc8bvCDj2aT6+Hqjf/F4px/zPoqHepuqTIi1dNYE2UySDTMqx5Ww8WuiBU4Ed3 b5AVkDgu+BFajVgwBnGdB9cdKoczeo6S1gn/YVjCjCUMbwCiRpsD6Xmt3/SPglzTI2Ja bDRw== X-Gm-Message-State: ALQs6tD8JNee8cinPAmzP1okn9L//oE+rE528Tw58zn2vKtb+G79ibsq s0lrxA1vUXxAQGwIAxStUplXMHFObS0F6A== X-Received: by 10.28.241.18 with SMTP id p18mr676908wmh.40.1523392449725; Tue, 10 Apr 2018 13:34:09 -0700 (PDT) Received: from ?IPv6:2a02:2f01:5060:1416:d10f:4519:8cd9:2373? ([2a02:2f01:5060:1416:d10f:4519:8cd9:2373]) by smtp.gmail.com with ESMTPSA id j3sm1143307wmf.23.2018.04.10.13.34.08 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 10 Apr 2018 13:34:08 -0700 (PDT) To: ffmpeg-devel@ffmpeg.org From: Vasile Toncu Message-ID: Date: Tue, 10 Apr 2018 23:34:08 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 Content-Language: en-US Subject: [FFmpeg-devel] [PATCH 1/6] reitnerlace - tinterlace-like filter under LGPL 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, This is the first part of the first patch. I added interlace options to tinterlace. On the next patch I will delete vf_interlace. Thank you, Vasile Toncu From b2be4e949e071f9017d8a9d6fbd1fbb56505ac50 Mon Sep 17 00:00:00 2001 From: Vasile Toncu Date: Tue, 10 Apr 2018 23:28:32 +0300 Subject: [PATCH] Added interlace options to tinterlace ---  libavfilter/Makefile        | 2 +-  libavfilter/vf_tinterlace.c | 9 +++++++++  2 files changed, 10 insertions(+), 1 deletion(-) MODE_INTERLEAVE_TOP},    INT_MIN, INT_MAX, FLAGS, "mode"}, +    {"bff",               "bottom field first",                           0, AV_OPT_TYPE_CONST, {.i64 = MODE_INTERLEAVE_BOTTOM}, INT_MIN, INT_MAX, FLAGS, "mode"}, + +    {"lowpass",           "set vertical low-pass filter",                 0, AV_OPT_TYPE_CONST, {.i64 = TINTERLACE_FLAG_VLPF}, INT_MIN, INT_MAX, FLAGS, "flags"}, +    {"off",               "disable low-pass filter",                      0, AV_OPT_TYPE_CONST, {.i64 = 0},                    INT_MIN, INT_MAX, FLAGS, "flags" }, +    {"linear",            "linear vertical low-pass filter",              0, AV_OPT_TYPE_CONST, {.i64 = TINTERLACE_FLAG_VLPF}, INT_MIN, INT_MAX, FLAGS, "flags" }, +    {"complex",           "complex vertical low-pass filter",             0, AV_OPT_TYPE_CONST, {.i64 = TINTERLACE_FLAG_CVLPF},INT_MIN, INT_MAX, FLAGS, "flags" },      {NULL}  }; diff --git a/libavfilter/Makefile b/libavfilter/Makefile index a90ca30..586d9c7 100644 --- a/libavfilter/Makefile +++ b/libavfilter/Makefile @@ -231,7 +231,7 @@ OBJS-$(CONFIG_HYSTERESIS_FILTER) += vf_hysteresis.o framesync.o  OBJS-$(CONFIG_IDET_FILTER)                   += vf_idet.o  OBJS-$(CONFIG_IL_FILTER)                     += vf_il.o  OBJS-$(CONFIG_INFLATE_FILTER)                += vf_neighbor.o -OBJS-$(CONFIG_INTERLACE_FILTER)              += vf_interlace.o +OBJS-$(CONFIG_INTERLACE_FILTER)              += vf_tinterlace.o  OBJS-$(CONFIG_INTERLEAVE_FILTER)             += f_interleave.o  OBJS-$(CONFIG_KERNDEINT_FILTER)              += vf_kerndeint.o  OBJS-$(CONFIG_LENSCORRECTION_FILTER)         += vf_lenscorrection.o diff --git a/libavfilter/vf_tinterlace.c b/libavfilter/vf_tinterlace.c index f13791d..5bf384d 100644 --- a/libavfilter/vf_tinterlace.c +++ b/libavfilter/vf_tinterlace.c @@ -53,6 +53,15 @@ static const AVOption tinterlace_options[] = {      {"complex_filter",    "enable complex vertical low-pass filter",      0, AV_OPT_TYPE_CONST, {.i64 = TINTERLACE_FLAG_CVLPF},INT_MIN, INT_MAX, FLAGS, "flags" },      {"cvlpf",             "enable complex vertical low-pass filter",      0, AV_OPT_TYPE_CONST, {.i64 = TINTERLACE_FLAG_CVLPF},INT_MIN, INT_MAX, FLAGS, "flags" },      {"exact_tb",          "force a timebase which can represent timestamps exactly", 0, AV_OPT_TYPE_CONST, {.i64 = TINTERLACE_FLAG_EXACT_TB}, INT_MIN, INT_MAX, FLAGS, "flags" }, + +    {"scan",              "scanning mode",                                0, AV_OPT_TYPE_CONST, {.i64 = MODE_INTERLEAVE_TOP},    INT_MIN, INT_MAX, FLAGS, "mode"}, +    {"tff",               "top field first",                              0, AV_OPT_TYPE_CONST, {.i64 =