From patchwork Fri Oct 4 07:46:11 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Anton Khirnov X-Patchwork-Id: 52017 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:938f:0:b0:48e:c0f8:d0de with SMTP id z15csp232776vqg; Fri, 4 Oct 2024 00:46:29 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCV6/F10Qwfof+MKthXBwbVWnM47G8LFzuZLUSlm0VtFYHrPEhz0NUH9TcTikvpsi+RiK8P17cSuz3ySF3GO7cwn@gmail.com X-Google-Smtp-Source: AGHT+IH7uujzp4lZ/1qn9GuQm/pfqRqguZHuBSvhi4/DtvZnYL5K0yb5+TWMoTRvx+pNiHCUrQoC X-Received: by 2002:a05:6402:40cf:b0:5c3:c42e:d60e with SMTP id 4fb4d7f45d1cf-5c8d2a79c6amr586949a12.0.1728027989419; Fri, 04 Oct 2024 00:46:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1728027989; cv=none; d=google.com; s=arc-20240605; b=kkPnlS8WgclbuckZhbC2U8iQ6Nw5r1kMa9BpNGV08SAMptu6VoV0PFdNWcum4rkBdr cNLzG/Y2ovzxlIMIgopV42LvmXvqGVsh4OZ/EXI/Vz4H+aOGN2O3HnQIIdgwEk0Kg+Ro W3K3QoGL1x1boy5pbqeV917+5IXBSLhl3KRPrRp8Eo3DUmPW3tUdjUmwyFrFuiFW8VWP JjmBCnl95UKgO6Y1W8rJzPCjFPQ2ELq7GG4RmCgwn6vqcs+GgUmxXIj6gPPQLnb+ugrh NoWN9YB0UCplJIjV8IjRD55ihFDhwtlW3BTPGNskcLKHMIztjqJNlz73sWwRLN2Mu5V7 3wCA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:references:in-reply-to:message-id :date:to:from:dkim-signature:delivered-to; bh=J+Dc7n5IHGTtlp1prVE1ojrbQV/14qIDP+BAHqrZN7I=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=fmCarvABHXm4XkbPtl/5u9v0hc0Jjk2ECZ/Qy6tc7TOhDkMv7UrhuAiGfCw/AJFWjZ gzz42CGGRj5sBpjupqpXkwSOJr98AxQNu4RyGRJZpDNqTiLADjnRqhqdJqBQmPUazgM5 f9tQzDwgZbSMlDcoyJ1JII9Dzq/nAMA0+EqkFqSqfAinrvkI3a6suMgARN6dZl6rh+rs rs7TgxCza08/w1YlRsRnErqTZC36oFRRkyr/KZmwWeDwlCrA4kqvtdhyUS62yKgH2sG7 xTQwAOdFDXfAz67hHywKqvfp7RePiZ5n49zs9uMij0FOA0CURm1I96+c/vf+OFRzFlKt 4nNw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@khirnov.net header.s=mail header.b=M33Plwkt; 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 4fb4d7f45d1cf-5c8ca498744si1926308a12.411.2024.10.04.00.46.28; Fri, 04 Oct 2024 00:46:29 -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=@khirnov.net header.s=mail header.b=M33Plwkt; 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 C21D968D9BD; Fri, 4 Oct 2024 10:46:25 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail1.khirnov.net (quelana.khirnov.net [94.230.150.81]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E585468D3BB for ; Fri, 4 Oct 2024 10:46:18 +0300 (EEST) Authentication-Results: mail1.khirnov.net; dkim=pass (2048-bit key; unprotected) header.d=khirnov.net header.i=@khirnov.net header.a=rsa-sha256 header.s=mail header.b=M33Plwkt; dkim-atps=neutral Received: from localhost (mail1.khirnov.net [IPv6:::1]) by mail1.khirnov.net (Postfix) with ESMTP id 241A84E14 for ; Fri, 4 Oct 2024 09:46:18 +0200 (CEST) Received: from mail1.khirnov.net ([IPv6:::1]) by localhost (mail1.khirnov.net [IPv6:::1]) (amavis, port 10024) with ESMTP id 6Imny8d9xJGC for ; Fri, 4 Oct 2024 09:46:17 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=khirnov.net; s=mail; t=1728027976; bh=31Z4i/DClIWZ1arR0qnggGgIN/+cmrpqB+F88xbmbyU=; h=From:To:Subject:Date:In-Reply-To:References:From; b=M33PlwktkgUrWwMu/ax6DM5siWTJ6COiVyMa//Gill61uJRi05Hk1lIgfvFx6F2DM 8MHSOU8iHcnHXeC90J9+U8PHMen6lF7YjM3d9doS8tIWzCxPfzvedNEuVJogRdpOpR 2hPGt3VxLynd5YMSM4VKMJ0qV2o7JD0QXGNKgVZZyGU60JYxGN96RNXu94U91h8tzg upO83ciXu1Tv9AfxLCIskbmDAwnA8cUWpjV2ec9WUqmWZiziaWiX5Q7guLYLcpJyc5 nvnPwd6E7F9EzVULXnAsJb3f1Z9hjVvtSAfLLpqdmr36isFkohru57txlEEAXyS1Mj eKzh96UmfrrbA== Received: from libav.khirnov.net (libav.khirnov.net [IPv6:2a00:c500:561:201::7]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "libav.khirnov.net", Issuer "smtp.khirnov.net SMTP CA" (verified OK)) by mail1.khirnov.net (Postfix) with ESMTPS id DAEF4EFF for ; Fri, 4 Oct 2024 09:46:16 +0200 (CEST) Received: from libav.khirnov.net (libav.khirnov.net [IPv6:::1]) by libav.khirnov.net (Postfix) with ESMTP id A433D3A0F02 for ; Fri, 04 Oct 2024 09:46:16 +0200 (CEST) From: Anton Khirnov To: ffmpeg-devel@ffmpeg.org Date: Fri, 4 Oct 2024 09:46:11 +0200 Message-ID: <20241004074613.21038-2-anton@khirnov.net> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241004074613.21038-1-anton@khirnov.net> References: <20241004074613.21038-1-anton@khirnov.net> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/2] doc/ffmpeg.texi: add a diagram for the loopback decoder example X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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" X-TUID: 2rxQ0EQP3RXs --- doc/ffmpeg.texi | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/doc/ffmpeg.texi b/doc/ffmpeg.texi index e17c17bcd7..1ccc48bbad 100644 --- a/doc/ffmpeg.texi +++ b/doc/ffmpeg.texi @@ -526,6 +526,38 @@ reads an input video and @end itemize +Such a transcoding pipeline can be represented with the following diagram: +@verbatim +┌──────────┬───────────────┐ +│ demuxer │ │ ┌─────────┐ ┌─────────┐ ┌────────────────────┐ +╞══════════╡ video stream │ │ video │ │ video │ │ null muxer │ +│ INPUT │ ├──⮞│ decoder ├──┬────────⮞│ encoder ├─┬─⮞│(discards its input)│ +│ │ │ └─────────┘ │ │(libx264)│ │ └────────────────────┘ +└──────────┴───────────────┘ │ └─────────┘ │ + ╭───────⮜──╯ ┌─────────┐ │ + │ │loopback │ │ + │ ╭─────⮜──────┤ decoder ├────⮜──╯ + │ │ └─────────┘ + │ │ + │ │ + │ │ ┌───────────────────┐ + │ │ │complex filtergraph│ + │ │ ╞═══════════════════╡ + │ │ │ ┌─────────────┐ │ + ╰─╫─⮞├─⮞│ hstack ├─⮞├╮ + ╰─⮞├─⮞│ │ ││ + │ └─────────────┘ ││ + └───────────────────┘│ + │ +┌──────────┬───────────────┐ ┌─────────┐ │ +│ muxer │ │ │ video │ │ +╞══════════╡ video stream │⮜─┤ encoder ├───────⮜──────────╯ +│ OUTPUT │ │ │ (ffv1) │ +│ │ │ └─────────┘ +└──────────┴───────────────┘ +@end verbatim + + @c man end DETAILED DESCRIPTION @anchor{Stream selection}