diff --git a/.github/renovate.json b/.github/renovate.json index 5c47c052..2a125ab7 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -11,25 +11,33 @@ "schedule:weekly" ], "dependencyDashboard": false, + "ignorePaths": [ + "**/packages/light-adjustment-gpu/model/**" + ], "packageRules": [ { - "matchUpdateTypes": ["minor", "patch", "pin", "digest"], - "platformAutomerge": true, - "automerge": true - }, - { - "matchUpdateTypes": ["minor", "patch", "pin", "digest"], - "matchPackagePatterns": ["eslint"], - "groupName": "eslint", + "matchUpdateTypes": [ + "minor", + "patch", + "pin", + "digest" + ], "platformAutomerge": true, "automerge": true }, { - "matchUpdateTypes": ["minor", "patch", "pin", "digest"], - "matchPackagePatterns": ["rollup"], + "matchUpdateTypes": [ + "minor", + "patch", + "pin", + "digest" + ], + "matchPackagePatterns": [ + "rollup" + ], "groupName": "rollup", "platformAutomerge": true, "automerge": true } ] -} +} \ No newline at end of file diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index e5a1612e..4c346ebb 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -19,7 +19,7 @@ jobs: - uses: actions/checkout@v4 - uses: goto-bus-stop/setup-zig@v2 - run: zig version - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version: ${{ matrix.node }} - uses: pnpm/action-setup@v2 diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index ae8a75fa..05093c20 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -42,7 +42,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@v2 + uses: github/codeql-action/init@v3 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -53,7 +53,7 @@ jobs: # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild - uses: github/codeql-action/autobuild@v2 + uses: github/codeql-action/autobuild@v3 # ℹ️ Command-line programs to run using the OS shell. # 📚 https://git.io/JvXDl @@ -67,4 +67,4 @@ jobs: # make release - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 + uses: github/codeql-action/analyze@v3 diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index cbdba615..ecf2f1ed 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -16,7 +16,7 @@ jobs: - uses: actions/checkout@v4 - uses: goto-bus-stop/setup-zig@v2 - run: zig version - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version: "18" - uses: pnpm/action-setup@v2 @@ -60,4 +60,4 @@ jobs: steps: - name: Deploy to GitHub Pages id: deployment - uses: actions/deploy-pages@v2 + uses: actions/deploy-pages@v3 diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 00000000..699ed733 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["biomejs.biome"] +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..6ce2adb8 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,20 @@ +{ + "editor.formatOnSave": true, + "editor.defaultFormatter": "esbenp.prettier-vscode", + "[javascript]": { + "editor.defaultFormatter": "biomejs.biome" + }, + "[javascriptreact]": { + "editor.defaultFormatter": "biomejs.biome" + }, + "[typescript]": { + "editor.defaultFormatter": "biomejs.biome" + }, + "[typescriptreact]": { + "editor.defaultFormatter": "biomejs.biome" + }, + "editor.codeActionsOnSave": { + "quickfix.biome": "explicit", + "source.organizeImports.biome": "explicit" + } +} diff --git a/CHANGES.md b/CHANGES.md index 79556129..42fe189b 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -11,11 +11,24 @@ ## develop -- [FIX] Zig の組み込みのキャスト関数xToYがyFromXにリネームされたので対応 +- [FIX] Zig の WebAssembly ビルドで addSharedLibrary から addBinary を使うよう変更になったので対応 + - https://ziglang.org/documentation/master/#Freestanding + - https://github.com/ziglang/zig/pull/17815 +- [FIX] zig で std.mem.copy ではなく @memcpy を使うようにする + - https://github.com/ziglang/zig/pull/18143 + - @voluntas +- [FIX] Zig の組み込みのキャスト関数 xToY が yFromX にリネームされたので対応 - @kounoike - [FIX] Zig の `@truncate` やキャスト関連に破壊的変更があったため対応 - @kounoike +## light-adjustment-gpu-2023.1.1 + +- [FIX] ライト調整 GPU 版の semantic_guided_llie_324x240 のパラメータが間違っていたのを修正 + - @kounoike +- [FIX] image-to-image-video-processor だけ TypeScript 5.2.2 に固定する + - @voluntas + ## light-adjustment-gpu-2023.1.0 **初リリース** @@ -23,12 +36,12 @@ - [ADD] 推論ベースの Low-Light-Image-Enhancement を行う @shiguredo/light-adjustment-gpu パッケージを追加 - 暗い画像に対してコントラストを改善したり、逆光で暗くなっている人物を明るくすることができる - 内部的には @shiguredo/image-to-image-video-processor を利用する - - https://github.com/PINTO0309/PINTO_model_zoo/tree/main/370_Semantic-Guided-Low-Light-Image-Enhancement のモデルをtfjsに変換して使用する + - https://github.com/PINTO0309/PINTO_model_zoo/tree/main/370_Semantic-Guided-Low-Light-Image-Enhancement のモデルを tfjs に変換して使用する - @kounoike -- [ADD] 画像→画像の推論を行う際に使える @shiguredo/image-to-image-video-processor パッケージを追加する - - Tensorflow.jsを使い、画像→画像の何らかの推論を行う +- [ADD] 画像 → 画像の推論を行う際に使える @shiguredo/image-to-image-video-processor パッケージを追加する + - Tensorflow.js を使い、画像 → 画像の何らかの推論を行う - 推論前後のリサイズ処理を入力解像度に合わせて自動的に行う - - Low Light Image Enhancementのような明るさ補正、超解像、ノイズ除去などの推論で使われることを想定している + - Low Light Image Enhancement のような明るさ補正、超解像、ノイズ除去などの推論で使われることを想定している - @kounoike - [CHANGE] tsconfig.json の compilerOptions の lib を es2015 から es2020 に変更する - @voluntas @@ -42,7 +55,7 @@ ## virtual-background-2023.2.0 -- [UPDATE] CPU-GPUの転送を減らして背景ぼかし処理を高速化 +- [UPDATE] CPU-GPU の転送を減らして背景ぼかし処理を高速化 - @kounoike - [UPDATE] GitHub Actions に Node 20 を追加 - @voluntas @@ -118,30 +131,30 @@ ## noise-suppression-2022.4.1 -- [FIX] 公開APIに含まれる型を定義しているパッケージをdependenciesに追加 +- [FIX] 公開 API に含まれる型を定義しているパッケージを dependencies に追加 - https://github.com/shiguredo/media-processors/pull/26 - @sile ## virtual-background-2022.4.1 -- [FIX] 公開APIに含まれる型を定義しているパッケージをdependenciesに追加 +- [FIX] 公開 API に含まれる型を定義しているパッケージを dependencies に追加 - https://github.com/shiguredo/media-processors/pull/26 - @sile ## noise-suppression-2022.4.0 -- [ADD] RNNoiseモデルの差し替えに対応 +- [ADD] RNNoise モデルの差し替えに対応 - https://github.com/shiguredo/media-processors/pull/15 - @sile -- [ADD] 処理適用前後のメディアトラックを取得するためのAPIを追加 +- [ADD] 処理適用前後のメディアトラックを取得するための API を追加 - https://github.com/shiguredo/media-processors/pull/25 - @sile ## virtual-background-2022.4.0 -- [ADD] 処理適用前後のメディアトラックを取得するためのAPIを追加 +- [ADD] 処理適用前後のメディアトラックを取得するための API を追加 - https://github.com/shiguredo/media-processors/pull/25 - @sile diff --git a/README.md b/README.md index aae40d43..ba98e3f9 100644 --- a/README.md +++ b/README.md @@ -16,20 +16,27 @@ Please read https://github.com/shiguredo/oss/blob/master/README.en.md before use ## 方針 -- 動作するブラウザは最新の Chrome または Edge のみです。それ以外のブラウザでは動作しません - - iOS の Chrome や Edge では動作しません +対応ブラウザは最新の Chrome または Edge です。それ以外のブラウザでは動作しません。 + +ただし、以下の機能は Safari でも動作します。 + +- 仮想背景 / 背景ぼかし +- ライト調整 +- ライト調整(GPU版) ## 機能 - [仮想背景 / 背景ぼかし](https://github.com/shiguredo/media-processors/tree/develop/packages/virtual-background) - [ノイズ抑制](https://github.com/shiguredo/media-processors/tree/develop/packages/noise-suppression) - [ライト調整](https://github.com/shiguredo/media-processors/tree/develop/packages/light-adjustment) +- [ライト調整(GPU版)](https://github.com/shiguredo/media-processors/tree/develop/packages/light-adjustment-gpu) ## npm - [@shiguredo/virtual\-background \- npm](https://www.npmjs.com/package/@shiguredo/virtual-background) - [@shiguredo/noise\-suppression \- npm](https://www.npmjs.com/package/@shiguredo/noise-suppression) - [@shiguredo/light\-adjustment \- npm](https://www.npmjs.com/package/@shiguredo/light-adjustment) +- [@shiguredo/light\-adjustment\-gpu \- npm](https://www.npmjs.com/package/@shiguredo/light-adjustment-gpu) ## サンプル @@ -38,6 +45,7 @@ GitHub Pages にサンプルを用意しています。完全にクライアン - [仮想背景 / 背景ぼかし](https://shiguredo.github.io/media-processors/examples/virtual-background.html) - [ノイズ抑制](https://shiguredo.github.io/media-processors/examples/noise-suppression.html) - [ライト調整](https://shiguredo.github.io/media-processors/examples/light-adjustment) +- [ライト調整(GPU版)](https://shiguredo.github.io/media-processors/examples/light-adjustment-gpu) ## 優先実装 diff --git a/biome.json b/biome.json new file mode 100644 index 00000000..d882ece5 --- /dev/null +++ b/biome.json @@ -0,0 +1,45 @@ +{ + "$schema": "https://biomejs.dev/schemas/1.4.0/schema.json", + "organizeImports": { + "enabled": true + }, + "linter": { + "enabled": true, + "rules": { + "recommended": true + } + }, + "formatter": { + "enabled": true, + "formatWithErrors": false, + "ignore": [], + "indentStyle": "space", + "indentWidth": 2, + "lineWidth": 100 + }, + "json": { + "parser": { + "allowComments": true + }, + "formatter": { + "enabled": true, + "indentStyle": "space", + "indentWidth": 2, + "lineWidth": 100 + } + }, + "javascript": { + "formatter": { + "enabled": true, + "quoteStyle": "single", + "jsxQuoteStyle": "double", + "trailingComma": "all", + "semicolons": "asNeeded", + "arrowParentheses": "always", + "indentStyle": "space", + "indentWidth": 2, + "lineWidth": 100, + "quoteProperties": "asNeeded" + } + } +} \ No newline at end of file diff --git a/examples/video-multi-processors-gpu.html b/examples/video-multi-processors-gpu.html new file mode 100644 index 00000000..8cc78eaa --- /dev/null +++ b/examples/video-multi-processors-gpu.html @@ -0,0 +1,55 @@ + +
+ +