{"id":48026415,"url":"https://github.com/francoiscarouge/gstkalman","last_synced_at":"2026-04-04T13:50:44.566Z","repository":{"id":65250852,"uuid":"573988778","full_name":"FrancoisCarouge/GstKalman","owner":"FrancoisCarouge","description":"GStreamer Kalman Filter Video Plugin","archived":false,"fork":false,"pushed_at":"2023-01-16T04:53:44.000Z","size":660,"stargazers_count":6,"open_issues_count":3,"forks_count":5,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-05T02:58:51.594Z","etag":null,"topics":["cpp","cpp23","gstreamer","gstreamer-plugins","kalman","kalman-filter","kalman-filtering","library","multimedia"],"latest_commit_sha":null,"homepage":"https://francoiscarouge.github.io/GstKalman","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FrancoisCarouge.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"custom":"http://paypal.me/francoiscarouge"}},"created_at":"2022-12-04T03:56:05.000Z","updated_at":"2025-06-09T23:31:24.000Z","dependencies_parsed_at":"2023-02-10T01:16:31.229Z","dependency_job_id":null,"html_url":"https://github.com/FrancoisCarouge/GstKalman","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/FrancoisCarouge/GstKalman","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FrancoisCarouge%2FGstKalman","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FrancoisCarouge%2FGstKalman/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FrancoisCarouge%2FGstKalman/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FrancoisCarouge%2FGstKalman/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FrancoisCarouge","download_url":"https://codeload.github.com/FrancoisCarouge/GstKalman/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FrancoisCarouge%2FGstKalman/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31402276,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T10:20:44.708Z","status":"ssl_error","status_checked_at":"2026-04-04T10:20:06.846Z","response_time":60,"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":["cpp","cpp23","gstreamer","gstreamer-plugins","kalman","kalman-filter","kalman-filtering","library","multimedia"],"created_at":"2026-04-04T13:50:43.347Z","updated_at":"2026-04-04T13:50:44.497Z","avatar_url":"https://github.com/FrancoisCarouge.png","language":"C++","funding_links":["http://paypal.me/francoiscarouge"],"categories":[],"sub_categories":[],"readme":"# A GStreamer Kalman Filter Video Plugin\n\nGStreamer is a pipeline-based multimedia framework that links together a wide variety of media processing systems to complete complex workflows. The Kalman filter is a Bayesian filter that uses multivariate Gaussians.\n\nThis library applies a single precision, no input, constant system dynamic model Kalman filter to the pixels of the frames of a raw video stream with computation performed on CPU with an opportunity for diverse execution parallelisms.\n\nThe GStreamer inspected plugin information:\n```\nPlugin Details:\n  Name                     kalman\n  Description              A video Kalman filter plugin.\n  Filename                 build/source/libgstkalman.so\n  Version                  0.1.0\n  License                  Unlicense\n  Source module            kalman\n  Binary package           kalman\n  Origin URL               https://github.com/FrancoisCarouge/GstKalman\n\n  kalman: Kalman Filter\n\n  1 features:\n  +-- 1 elements\n```\n\nThe GStreamer inspected sole element information:\n```\nFactory Details:\n  Rank                     none (0)\n  Long-name                Kalman Filter\n  Klass                    Filter/Effect/Video\n  Description              A video Kalman filter plugin.\n  Author                   Francois Carouge \u003cfrancois.carouge@gmail.com\u003e\n\nPlugin Details:\n  Name                     kalman\n  Description              A video Kalman filter plugin.\n  Filename                 /mnt/f/Drive/Projects/cpp/gstkalman/build/source/libgstkalman.so\n  Version                  0.1.0\n  License                  Unlicense\n  Source module            kalman\n  Binary package           kalman\n  Origin URL               https://github.com/FrancoisCarouge/GstKalman\n\nGObject\n +----GInitiallyUnowned\n       +----GstObject\n             +----GstElement\n                   +----GstBaseTransform\n                         +----GstKalman\n\nPad Templates:\n  SINK template: 'sink'\n    Availability: Always\n    Capabilities:\n      video/x-raw\n  \n  SRC template: 'src'\n    Availability: Always\n    Capabilities:\n      video/x-raw\n\nElement has no clocking capabilities.\nElement has no URI handling capabilities.\n\nPads:\n  SINK: 'sink'\n    Pad Template: 'sink'\n  SRC: 'src'\n    Pad Template: 'src'\n\nElement Properties:\n  name                : The name of the object\n                        flags: readable, writable, 0x2000\n                        String. Default: \"kalman0\"\n  p                   : Initialize estimate uncertainty.\n                        flags: readable, writable\n                        Float. Range:               0 -    3.402823e+38 Default:               0 \n  parent              : The parent of the object\n                        flags: readable, writable, 0x2000\n                        Object of type \"GstObject\"\n  qos                 : Handle Quality-of-Service events\n                        flags: readable, writable\n                        Boolean. Default: false\n  r                   : Initialize output uncertainty.\n                        flags: readable, writable\n                        Float. Range:               0 -    3.402823e+38 Default:               0 \n```\n\n- [A GStreamer Kalman Filter Video Plugin](#a-gstreamer-kalman-filter-video-plugin-in-c)\n- [Examples](#examples)\n- [Installation](#installation)\n- [Resources](#resources)\n  - [Third Party Acknowledgement](#third-party-acknowledgement)\n  - [Sponsors](#sponsors)\n    - [Corporations \\\u0026 Institutions](#corporations--institutions)\n    - [Individuals](#individuals)\n- [License](#license)\n\n# Examples\n\n```shell\ngst-launch-1.0 uridecodebin uri=\"file:///path/to/roundhay_garden.mp4\" ! videoconvert ! kalman p=100 r=100 ! autovideosink\n```\n\n# Installation\n\n```shell\ngit clone --depth 1 \"https://github.com/FrancoisCarouge/gstkalman\"\ncmake -S \"gstkalman\" -B \"build\"\ncmake --build \"build\" --parallel\nsudo cmake --install \"build\"\n```\n\n[For more, see installation instructions](INSTALL.md).\n\n# Resources\n\n## Third Party Acknowledgement\n\nThe library is designed, developed, and tested with the help of third-party tools and services acknowledged and thanked here:\n\n- [actions-gh-pages](https://github.com/peaceiris/actions-gh-pages) to upload the documentation to GitHub pages.\n- [Clang](https://clang.llvm.org) for compilation and code sanitizers.\n- [CMake](https://cmake.org) for build automation.\n- [cmakelang](https://pypi.org/project/cmakelang) for pretty CMake list files.\n- [Coveralls](https://coveralls.io) to measure [code coverage](https://coveralls.io/github/FrancoisCarouge/Kalman).\n- [cppcheck](https://cppcheck.sourceforge.io) for static analysis.\n- [Doxygen](https://doxygen.nl) for documentation generation.\n- [Doxygen Awesome](https://github.com/jothepro/doxygen-awesome-css) for pretty documentation.\n- [GCC](https://gcc.gnu.org) for compilation and code sanitizers.\n- [lcov](http://ltp.sourceforge.net/coverage/lcov.php) to process coverage information.\n- [MSVC](https://docs.microsoft.com/en-US/cpp/windows/latest-supported-vc-redist) for compilation and code sanitizers.\n- [Valgrind](https://valgrind.org) to check for correct memory management.\n\n## Sponsors\n\nBecome a sponsor today! Support this project with coffee and infrastructure!\n\n[![Sponsor](https://img.shields.io/badge/Support-Sponsor-brightgreen)](http://paypal.me/francoiscarouge)\n\n### Corporations \u0026 Institutions\n\n*Your group logo and link here!*\n\n### Individuals\n\n*Your name and link here!*\n\nThanks everyone!\n\n# License\n\n\u003cimg align=\"right\" src=\"http://opensource.org/trademarks/opensource/OSI-Approved-License-100x137.png\"\u003e\n\nGStreamer Kalman Filter Video Plugin is public domain:\n\nThis is free and unencumbered software released into the public domain.\n\nAnyone is free to copy, modify, publish, use, compile, sell, or\ndistribute this software, either in source code form or as a compiled\nbinary, for any purpose, commercial or non-commercial, and by any\nmeans.\n\nIn jurisdictions that recognize copyright laws, the author or authors\nof this software dedicate any and all copyright interest in the\nsoftware to the public domain. We make this dedication for the benefit\nof the public at large and to the detriment of our heirs and\nsuccessors. We intend this dedication to be an overt act of\nrelinquishment in perpetuity of all present and future rights to this\nsoftware under copyright law.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR\nOTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,\nARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\nOTHER DEALINGS IN THE SOFTWARE.\n\nFor more information, please refer to \u003chttps://unlicense.org\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrancoiscarouge%2Fgstkalman","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffrancoiscarouge%2Fgstkalman","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrancoiscarouge%2Fgstkalman/lists"}