{"id":13399989,"url":"https://github.com/dyne/frei0r","last_synced_at":"2026-05-05T14:01:53.296Z","repository":{"id":8357834,"uuid":"57671589","full_name":"dyne/frei0r","owner":"dyne","description":"A large collection of free and portable video plugins","archived":false,"fork":false,"pushed_at":"2026-03-24T08:02:06.000Z","size":6146,"stargazers_count":555,"open_issues_count":32,"forks_count":107,"subscribers_count":20,"default_branch":"master","last_synced_at":"2026-03-24T21:16:23.255Z","etag":null,"topics":["dyne","linux","osx","plugins","video-effects","video-filtering","windows"],"latest_commit_sha":null,"homepage":"https://frei0r.dyne.org/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dyne.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.md","dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["dyne"],"ko-fi":"dyneorg","patreon":"dyneorg"}},"created_at":"2016-05-01T16:59:30.000Z","updated_at":"2026-03-24T19:23:48.000Z","dependencies_parsed_at":"2023-02-10T18:00:41.481Z","dependency_job_id":"eb0e4fad-89ba-443a-bee6-9964f02678cc","html_url":"https://github.com/dyne/frei0r","commit_stats":{"total_commits":639,"total_committers":50,"mean_commits":12.78,"dds":0.730829420970266,"last_synced_commit":"49f759d9e153a4e2850127e368f7aa6f40d59aaf"},"previous_names":[],"tags_count":40,"template":false,"template_full_name":null,"purl":"pkg:github/dyne/frei0r","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dyne%2Ffrei0r","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dyne%2Ffrei0r/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dyne%2Ffrei0r/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dyne%2Ffrei0r/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dyne","download_url":"https://codeload.github.com/dyne/frei0r/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dyne%2Ffrei0r/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31305967,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T09:48:21.550Z","status":"ssl_error","status_checked_at":"2026-04-02T09:48:19.196Z","response_time":89,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dyne","linux","osx","plugins","video-effects","video-filtering","windows"],"created_at":"2024-07-30T19:00:46.147Z","updated_at":"2026-05-05T14:01:53.286Z","avatar_url":"https://github.com/dyne.png","language":"C","funding_links":["https://github.com/sponsors/dyne","dyneorg","https://patreon.com/dyneorg"],"categories":["Image Processing","Video","HarmonyOS","Media Tools"],"sub_categories":["Video Libraries","Windows Manager","Independent \u0026 Hobbyist Projects"],"readme":"[![Frei0r logo](https://frei0r.dyne.org/pics/fla_name_lb.webp)](https://frei0r.dyne.org)\n\n\u003cimg src=\"https://files.dyne.org/software_by_dyne.png\" width=\"300\"\u003e\n\n[![frei0r](https://github.com/dyne/frei0r/actions/workflows/test.yml/badge.svg)](https://github.com/dyne/frei0r/actions/workflows/test.yml)\n[![frei0r](https://github.com/dyne/frei0r/actions/workflows/release.yml/badge.svg)](https://github.com/dyne/frei0r/actions/workflows/release.yml)\n\n\n# What frei0r is \n\nThe frei0r project is a collection of free and open source video effects plugins that can be used with a variety of video editing and processing software.\n\n[For an extensive introduction to frei0r please read this story.](https://jaromil.medium.com/frei0r-the-free-and-open-source-video-effect-preservation-project-604134dde8b3?source=friends_link\u0026sk=c83a054b979d421279f5fc3d2ea1acd8)\n\nThe frei0r project welcomes contributions by people who are passionate about video effects, its collection consists of more than 100 plugins made to work on any target platform (GNU/Linux, Apple/OSX and MS/Win) without the need for special video hardware. These plugins can be used to add a wide range of effects to video, such as color correction, blurring, and distortion.\n\nThe frei0r project is a great resource for anyone interested in algorithms for video transformation and effects, as it provides a wide range of open source formulas available for free and can be easily integrated into a variety of software. \n\n\n## What frei0r is not \n\nFrei0r itself is just a C/C++ header and a collection of small programs using it to accept an input frame, change it in any possible way and return an output frame.\n\nIt is not meant as a generic API for all kinds of video applications, as it doesn't provides things like an extensive parameter mechanism or event handling.\n\nEventually the frei0r API can be wrapped by higher level APIs expanding its functionalities, for instance GStreamer, MLT, FFmpeg and Pure Data do.\n\n## Links\n\nWikipedia page about frei0r: https://en.wikipedia.org/wiki/Frei0r\n\nSome applications using frei0r, sorted in order of most recent activity\n\n- [MLT](https://www.mltframework.org/)\n- [LiquidSoap](https://www.liquidsoap.info/)\n- [KDEnLive](https://www.kdenlive.org/)\n- [Shotcut](https://www.shotcut.org/)\n- [FFMpeg](https://ffmpeg.org)\n- [PureData](https://puredata.info/)\n- [Open  Movie  Editor](http://www.openmovieeditor.org/)\n- [Gephex](https://gephex.org/)\n- [LiVES](http://lives.sf.net)\n- [FreeJ](https://freej.dyne.org)\n- [VeeJay](http://veejayhq.net)\n- [Flowblade](https://jliljebl.github.io/flowblade/)\n\n\n# Downloads\n\nStable frei0r releases are built automatically and made available on\n\n## https://github.com/dyne/frei0r/releases\n\nFrei0r sourcecode is released under the terms of the GNU General Public License and, eventually other compatible Free Software licenses.\n\n## Packaging\n\n[![Packaging status](https://repology.org/badge/vertical-allrepos/frei0r.svg?columns=3)](https://repology.org/project/frei0r/versions)\n\n## Build dependencies \n\nFrei0r can be built on GNU/Linux, M$/Windows and Apple/OSX platforms, possibly in even more environments like embedded devices.\n\nFor details see the [BUILD](/BUILD.md) file.\n\n### Quick build and test\n\n```sh\ncmake -S . -B build -G Ninja\ncmake --build build\ncd test \u0026\u0026 make frei0r-asan \u0026\u0026 make check\n```\n\n### Metadata scan utility\n\nThe metadata scanner binary is `test/frei0r-meta` (previously `frei0r-info`):\n\n```sh\ncd test \u0026\u0026 make frei0r-meta \u0026\u0026 make scan-meta\n```\n\n### MS / Windows\n\nWe distribute official builds of frei0r plugins as .dll for the Win64 platform from the releases page.\n\n### BSD\n\nPorts of frei0r are included in all major BSD distros:\n- FreeBSD https://www.freshports.org/graphics/frei0r\n- OpenBSD\n- NetBSD https://pkgsrc.se/multimedia/frei0r\n\n### GNU / Linux\n\nBinary packages are maintained on various distributions, but they may not be completely up to date with the latest release.\n\n- [frei0r*](https://repology.org/project/frei0r/versions)\n- [frei0r-plugins*](https://repology.org/project/frei0r-plugins/versions)\n- [ocaml:frei0r*](https://repology.org/project/ocaml:frei0r/versions)\n\n### Apple / OSX \n\nA [frei0r Brew formula](https://formulae.brew.sh/formula/frei0r) is available.\n\nOfficial macOS release artifacts are distributed from the releases page.\n\n# Documentation \n\n\nIf you are new to frei0r (but not to programming) the best thing is probably to have a look at the [frei0r header](/include/frei0r.h), which is quite simple and well documented. The [doxyfied documentation](https://frei0r.dyne.org/codedoc/html) is also available for browsing online.\n\n\n## C++ Filter example \n\nYou could find a tutorial filter [here](https://github.com/dyne/frei0r/tree/master/src/filter/tutorial) in the source code.\nA simple skeleton for a frei0r video filter looks like this:\n\n```c++\n  #include \u003cfrei0r.hpp\u003e\n  \n  typedef struct {\n    int16_t w, h;\n    uint8_t bpp;\n    uint32_t size;\n  } ScreenGeometry;\n  \n  class MyExample: public frei0r::filter {\n  public:\n    MyExample(int wdt, int hgt);\n    ~MyExample();\n    virtual void update();\n  private:\n    ScreenGeometry geo;\n    void _init(int wdt, int hgt);\n  }\n  \n  MyExample::MyExample() { /* constructor */ }\n  MyExample::~MyExample() { /* destructor */ }\n  \n  void MyExample::_init(int wdt, int hgt) {\n    geo.w = wdt;\n    geo.h = hgt;\n    geo.bpp = 32; // this filter works only in RGBA 32bit\n    geo.size = geo.w*geo.h*(geo.bpp/8); // calculate the size in bytes\n  }\n  \n  void MyExample::update() {\n    // we get video input via buffer pointer (void*)in \n    uint32_t *src = (uint32_t*)in;\n    // and we give video output via buffer pointer (void*)out\n    uint32_t *dst = (uint32_t*)out;\n    // this example here does just a copy of input to output\n    memcpy(dst, src, geo.size);\n  }\n    \n  frei0r::construct\u003cMyExample\u003e\n          plugin(\"MyExample\", \"short and simple description for my example\",\n                 \"Who did it\", 1, 0);\n```\n\n## Join us \n\nTo contribute your plugin please open a [pull request](https://github.com/dyne/frei0r/pulls).\n\nFor bug reporting please use our [issue tracker](https://github.com/dyne/frei0r/issues).\n\nYou can get in touch with some developers over various dyne.org chat channels, for instance\n\n### https://t.me/frei0r\n\nWe also have an (old) mailing list open to [subscription](https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/frei0r) and we provide [public archives](https://lists.dyne.org/lurker/list/frei0r.en.html) of discussions, searchable and indexed online.\n\n## Acknowledgments \n\nFrei0r is the result of a collective effort in coordination with several software developers meeting to find a common standard for video effect plugins to be used among their applications.\n\nFor a full list of contributors and the project history, see the file [AUTHORS](/AUTHORS), the [ChangeLog](/ChangeLog) and the project web page: https://frei0r.dyne.org\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdyne%2Ffrei0r","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdyne%2Ffrei0r","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdyne%2Ffrei0r/lists"}