From patchwork Fri Jun 28 04:45:58 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhao Zhili X-Patchwork-Id: 35146 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:cc64:0:b0:482:c625:d099 with SMTP id k4csp29469vqv; Thu, 27 Jun 2024 21:46:50 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCV9LqGuZC7LTcSjzuN/3lPgyZlZ1Wb1Tb8++OQ7+rC4cazbxLFKMLzq/Ao1W6ZSFMSLe0bB6PDTRFt6VcXIOT7BCEN1KNwk5Ojj9w== X-Google-Smtp-Source: AGHT+IHbmPzwDt13vFtajd4UEOooac4jG+u0KYe0Lrsx33KesXr3WzcXggZm67euZMVA0vn+afnj X-Received: by 2002:a2e:9ed5:0:b0:2ec:4e75:89cc with SMTP id 38308e7fff4ca-2ec59329c88mr116471521fa.28.1719550009827; Thu, 27 Jun 2024 21:46:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1719550009; cv=none; d=google.com; s=arc-20160816; b=Ltde50s9ok7KbOG/Y8MkBBuqB9B9OQSvsGbirO5YyHuYLbHJhVWu+w+xKLKZAqZ48o uV9bcpnPPE9GP0sWTLvR+w7HbKoPp9i/57vYKvW4Dup8ePg/fdhzLGhlR26uHiEcznvD 94dlnwwLalk1OO6e2uFLzQonsaigcUAykVvd9sWaEEmlyECerVeosqkgduuAZgiPbLex QVJeY5AXSRKWSgPM8tdFpOwIvmPFMoiyOywUm5kQymmKyl5802q3pxrS6jiW1JcP8hGd IdUZCmfS9LA6oVepnO79xpIsRnpJxsDILdp3iA48QrvSsIqRpJu9nYAYkkdJZHJlrNZp 7A/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:date:to:from:message-id :dkim-signature:delivered-to; bh=o2qqoAKDeiVjoT79Wsa576IhbUSfGtiBQPYzfjsZQPQ=; fh=HnHYuZ9XgUo86ZRXTLWWmQxhslYEI9B9taZ5X1DLFfc=; b=Xma105CTUE4R6dT4i3QX+QP61lgoN2JwNi8GCjt/6OPgbDg1E7rJCJp2IbVHPCBPaN ZoYNQRTlnn037QcQ7QdkeqkwlhUGRl4D/9dpLb0w1mXv3gi3NYm1W+BaOw3MjK12299o 4Uj8UU27kTpg+YtP+iHVNDhcCij2qWXGhEr8js0DD8bZgOb5JC6y1/JCk2a0RifKZDVe 6/ztZxB5vD+FOaRmgM1fst0qZrZOTEUlQmfJmvYWAlXyDy8niLzn8sVRwL9KEiDHd1jj FvISDJlIMlxy9yJ22cRk2c/yJjabYyawT7vpngx18MmAJLkYrH2bsS2+0vJzj6bF2T37 gJ5w==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b=EN3ReO8x; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=foxmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id 4fb4d7f45d1cf-58613720da2si419523a12.57.2024.06.27.21.46.26; Thu, 27 Jun 2024 21:46:49 -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=@foxmail.com header.s=s201512 header.b=EN3ReO8x; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=foxmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E650C68D621; Fri, 28 Jun 2024 07:46:21 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from out203-205-251-72.mail.qq.com (out203-205-251-72.mail.qq.com [203.205.251.72]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 12FA968D504 for ; Fri, 28 Jun 2024 07:46:13 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1719549963; bh=+TA+tlidR0yqKZDV/9uGRcBz1p35P+Qw0ZSJjQqIVOU=; h=From:To:Cc:Subject:Date; b=EN3ReO8xyKhSOWV2pBCKgPOqk0/54sczT5SN3UZ/ZjvQAgbDaFOFzdz+SoT+2nOor dhhdRp8asmxoaPvT5pquap7/kKcWcIuRNaD6djXWK42+wNEbrvTOiDt4e+UxyT+CWK yigd4xqM21s6PpICzQVmMiHoXVKRGOosPeLyVD+A= Received: from ZHILIZHAO-MB1.tencent.com ([119.147.10.207]) by newxmesmtplogicsvrszb9-0.qq.com (NewEsmtp) with SMTP id B823745B; Fri, 28 Jun 2024 12:46:02 +0800 X-QQ-mid: xmsmtpt1719549962tzilll0q6 Message-ID: X-QQ-XMAILINFO: NfHsM/dq2nWIvHD9LrmnFvZj8cTyZx7f7oSvvvNMNvBBagtX1e3VVmGhAfymXK 7n4ShEdQJ/hIqm1YADqg2m73H7RyJvU3RY9/xKHfOz/yO96atRip7n8PqlAe2KAxaqqJYSNZbDUQ wPLwuyb93hPqCW3BYlWyAFi+AOahvn+xOAMkwrVKyrnpJG8saRYK1ObDwNoICnPGDgn5zGblqP5a qGBYVNIXTyxz9lwwQnFzyHCEVm9+8XG8x1xo48VHChSxYjpXtIZkFaadFqIrpYal7Vu98rcXMke2 ZbMQsslfhTyDRyWCWXYKF+7b6qZZd/QX6R4wPacosUo95Nzy7PJvk08ryWCvhCDvIyXpehqmHMcf ppQwYSc0hLPTzCCWYwddO8v0zrY6GfjuFHOicXFXj0gvLLsk1VCUGpTucXlbDmpt6kHfRgBIjx+c b5U9MFCGps5tgaqT4mKFYYRjHhny3k6KWsMjqvDquSzoCANQYKtCBALGY7KNNl4Uzo3dHjTMaGY0 L8cg6qFS/RyWgbXgoWaFo+6snGtvV3i93qz11n5ErR30kS4egVLDMicFC0ZvpN/P12IGYaM48l6y 5tuo6cLwBmEdtpiDqL+gN+BV5kA0icyh4uK0iD/T8NDqPxiCqX5GhJjxL0rzVOOk6eA02wO6wI++ M1gWYRF7z48fQNdISpYN9Tl0qgIEQnzOWgev0Po2VzrWAO7pUqsR50o/bmwIk6iR55AHHS9y/LnG azM6g8fTn1O9qHdezTMYIAZxrkaM4t/ljEchzB5yH6LydTM2FDIbtglFxx758HcvTlZv/LEMNC3Z Pm+VMy9P3BD/0BRqCjBbsJDC/aoEsPrZ1MaZqgTgRv6ju1gyzJattGTT9gbCCeMcRPvaY6zk1aOQ vig+BXt8DpPOJIPnu2E7aUolsosHLY85u8rELM+ruQdUFVcOotaoZ8oAiWen453aCEtuyBYU/GHs YG2s4ozdvmpDJhUKAzTNHTg1K8Md/dTPfntxNnJyODUHtw/wShD3N/oJeIuV9lyfYTOLSa1WzJ6v W/BK1k3A== X-QQ-XMRINFO: NI4Ajvh11aEj8Xl/2s1/T8w= From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Fri, 28 Jun 2024 12:45:58 +0800 X-OQ-MSGID: <20240628044601.60376-1-quinkblack@foxmail.com> X-Mailer: git-send-email 2.42.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 0/2] Add wasi(WebAssembly System Interface) support 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 Cc: Zhao Zhili Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 5NbqwmVJ+wLJ From: Zhao Zhili With wasi-sdk toolchain [1], now you can ./configure --cc=${wasi-sdk}/bin/clang \ --cxx=${wasi-sdk}/bin/clang++ \ --ar=${wasi-sdk}/bin/ar \ --strip=${wasi-sdk}/bin/strip \ --nm=${wasi-sdk}/bin/llvm-nm \ --ranlib=${wasi-sdk}/bin/ranlib \ --extra-cflags="--target=wasm32-wasi -D_WASI_EMULATED_SIGNAL -D_WASI_EMULATED_PROCESS_CLOCKS" --extra-libs="-lwasi-emulated-signal -lwasi-emulated-process-clocks" --disable-inline-asm \ --disable-x86asm \ --disable-network \ --disable-protocol=fd \ --disable-protocol=pipe \ --enable-cross-compile \ After make, you can run examples directly on cmdline with wasi runtime, for example, wasmtime [2] and wasmer [3] wasmtime --dir . ./demux_decode ./bbb.mp4 bbb-v bbb-a wasmer --dir . ./demux_decode ./bbb.mp4 bbb-v bbb-a Besides trying out wasm, I don't know what else it can be used for. [1] https://github.com/WebAssembly/wasi-sdk [2] https://github.com/bytecodealliance/wasmtime [3] https://github.com/wasmerio/wasmer Zhao Zhili (2): avutil/file_open: Fix build error with wasi avformat/file: guard fd_dup by FD_PROTOCOL or PIPE_PROTOCOL configure | 2 ++ libavformat/file.c | 2 ++ libavutil/file_open.c | 2 +- 3 files changed, 5 insertions(+), 1 deletion(-)