Releases: asayed18/icop
Release list
icop v0.1.2
icop v0.1.2
Highlights
- Windows runtime repair — Packaged plugins now resolve their adjacent
ONNX model and runtime correctly instead of falling back to a system DLL. - Version-locked ONNX headers — Release builds use headers matching the
bundled ONNX Runtime and refresh stale dependency-cache headers. - Verified packaging — Windows release verification now includes a
side-by-side runtime smoke test.
Platform archives
| Platform | Architecture | Archive |
|---|---|---|
| Linux | x86_64 | icop-v0.1.2-linux-x86_64.tar.gz |
| Linux | ARM64 | icop-v0.1.2-linux-arm64.tar.gz |
| Windows | x86_64 | icop-v0.1.2-windows-x86_64.zip |
| macOS | x86_64 | icop-v0.1.2-macos-x86_64.tar.gz |
| macOS | ARM64 | icop-v0.1.2-macos-arm64.tar.gz |
Installation
- Extract the archive for your platform.
- Copy the plugin and core shared library into your VLC
plugins/video_filter/
directory. - Launch VLC with
--video-filter=icop(or enable it in Tools → Effects and
Filters → Video Filters).
See the README for detailed
instructions.
Changelog (since v0.1.1)
- Fixed Windows packaged model and ONNX Runtime resolution.
- Pinned ONNX Runtime headers to the packaged runtime version.
Downloads
icop-v0.1.2-linux-arm64.tar.gz(239.9 MB)icop-v0.1.2-linux-x86_64.tar.gz(591.1 MB)icop-v0.1.2-mac-arm64.tar.gz(242.7 MB)icop-v0.1.2-mac-x86_64.tar.gz(232.5 MB)icop-v0.1.2-windows-x86_64.zip(239.2 MB)
icop v0.1.1
icop v0.1.1
Highlights
- Backend-agnostic design — D3D11 (Windows) and VAAPI (Linux) backends are
now selected through ansfw_backend_ops_tvtable. The filter no longer
hard-codes backend-specific paths, making it straightforward to add new
GPU backends. - VAAPI Gaussian blur — The VAAPI backend now uses raw libva with an
adaptive separable Gaussian blur (σ = dim/12), matching the D3D11 blur
quality. No more dependency on VLC-internalvlc_vaapi_*helpers. - Removed
--nsfw-processing-backend— Backend selection is now fully
automatic (D3D11 → VAAPI → opaque fallback). No user-facing VLC option
needed. - macOS support — Builds on both x86_64 (macOS 13) and ARM64 (macOS 14+).
VAAPI code is guarded withNOT APPLE. - Multi-platform CI release — The tag-triggered [Release workflow] builds
all five platforms in parallel and creates a draft release with SHA256 sums.
Platform archives
| Platform | Architecture | Archive |
|---|---|---|
| Linux | x86_64 | icop-0.1.1-linux-x86_64.tar.gz |
| Linux | ARM64 | icop-0.1.1-linux-arm64.tar.gz |
| Windows | x86_64 | icop-0.1.1-windows-x86_64.zip |
| macOS | x86_64 | icop-0.1.1-macos-x86_64.tar.gz |
| macOS | ARM64 | icop-0.1.1-macos-arm64.tar.gz |
Installation
- Extract the archive for your platform.
- Copy the plugin and core shared library into your VLC
plugins/video_filter/
directory. - Launch VLC with
--video-filter=icop(or enable it in Tools → Effects and
Filters → Video Filters).
See the README for detailed
instructions.
Changelog (since v0.1.0)
- Backend rework:
nsfw_backend_ops_tvtable, removedprocessing_backendoption - VAAPI: raw libva blur implementation, adaptive Gaussian blur
- Build: fixed configure skip, added macOS targets, bumped CMake min to 3.16
- CI: new release.yml for 5-platform parallel builds; updated ci.yml
- Packaging: CMake packaging module, SHA256SUMS, release.json
- Code organization: consolidated VLC stubs under
third_party/,
restructured frommodules/tosrc/plugin/ - D3D11: configurable wait-on-lock timeout (
--nsfw-d3d11-wait-timeout)
Downloads
icop-v0.1.1-linux-arm64.tar.gz(239.9 MB)icop-v0.1.1-linux-x86_64.tar.gz(591.1 MB)icop-v0.1.1-mac-arm64.tar.gz(242.7 MB)icop-v0.1.1-mac-x86_64.tar.gz(232.5 MB)icop-v0.1.1-windows-x86_64.zip(239.2 MB)
Pre-built multi-EP ONNX Runtime v1.27.1 (Linux x86_64)
Pre-built ONNX Runtime v1.27.1 with CUDA, MIGraphX, and XNNPACK execution providers for Linux x86_64.
Included libraries
libonnxruntime.so.1.27.1— main runtime (includes CPU + XNNPACK EPs)libonnxruntime_providers_cuda.so— CUDA EP (NVIDIA GPUs)libonnxruntime_providers_migraphx.so— MIGraphX EP (AMD GPUs)libonnxruntime_providers_shared.so— shared provider infrastructure
Notes
- MIGraphX provider was patched to compile against MIGraphX 2.10.0 (ROCm 6.2).
FP8/BF16/FP4 type mappings fall back to compatible types. - The build uses ORT v1.27.1 with
--use_cudaand--use_migraphx. - Expected runtime dependency: ROCm 6.2 runtime libraries for MIGraphX EP.
icop v0.1.0
icop v0.1.0
The first public source-only release of icop, an open-source, privacy-first AI content filter plugin for VLC media player.
Highlights
- Buffers frames so classification can complete before presentation.
- Runs local ONNX Runtime inference without uploading video frames.
- Supports Marqo, AdamCodd, Falconsai, and legacy model profiles.
- Provides black, blur, and warning blocking styles with optional audio muting.
- Includes CPU/CUDA inference selection and a Windows D3D11 processing path.
- Supports precomputed decision maps for scan-ahead playback.
- Provides versioned Windows, Linux, and macOS packaging workflows.
- Includes cross-platform
make build,make test,make release, andmake install_plugincommands.
Platform Status
- Windows x86_64: tested; CPU/D3D11 processing and CPU/CUDA inference paths.
- Linux x86_64: tested on WSL/Ubuntu; portable synchronous CPU path.
- macOS: experimental build and installation path; not yet runner-validated.
Build and Install
make build
make test
make release
make install_pluginOn Windows, use mingw32-make when GNU Make is installed under that name.
Safety Notice
icop is a best-effort filter. Detection models can produce false positives and false negatives. Test the selected model, threshold, and blocking configuration before relying on it for child-safety or accessibility use cases.
Source-Only Distribution
This GitHub Release intentionally provides source archives only. ONNX models, ONNX Runtime binaries, FFmpeg binaries, VLC binaries, generated packages, and portable VLC trees are not attached. Their upstream licensing and redistribution terms require separate review, particularly for model artifacts without declared license metadata.
See the README, changelog, and third-party notices for details.