{"id":14977928,"url":"https://github.com/dridri/openmaxil-cpp","last_synced_at":"2025-08-18T21:09:37.735Z","repository":{"id":71450622,"uuid":"67066520","full_name":"dridri/OpenMaxIL-cpp","owner":"dridri","description":"OpenMax IL C++ wrapper for RaspberryPi","archived":false,"fork":false,"pushed_at":"2020-11-08T11:17:11.000Z","size":144,"stargazers_count":23,"open_issues_count":4,"forks_count":5,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-02-01T12:44:10.245Z","etag":null,"topics":["openmax-il","raspberry-pi","raspberry-pi-camera"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dridri.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-08-31T19:20:50.000Z","updated_at":"2024-06-22T21:57:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"8839096f-dbf1-491a-99db-a6940a87ca91","html_url":"https://github.com/dridri/OpenMaxIL-cpp","commit_stats":{"total_commits":65,"total_committers":2,"mean_commits":32.5,"dds":0.01538461538461533,"last_synced_commit":"af954b07522f718a5c2f81285f5e1e84b511a3d2"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dridri%2FOpenMaxIL-cpp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dridri%2FOpenMaxIL-cpp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dridri%2FOpenMaxIL-cpp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dridri%2FOpenMaxIL-cpp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dridri","download_url":"https://codeload.github.com/dridri/OpenMaxIL-cpp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238608338,"owners_count":19500362,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["openmax-il","raspberry-pi","raspberry-pi-camera"],"created_at":"2024-09-24T13:56:33.831Z","updated_at":"2025-02-13T06:33:22.770Z","avatar_url":"https://github.com/dridri.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OpenMaxIL-cpp\nOpenMaxIL-cpp is a library specifically designed for Raspberry Pi, making easier C++ access to camera board and encoders / decoders.\n\n## Building\nThere are no external dependencies except VCOS and IL headers and libraries already pre-shipped in Raspbian images (should be in `/opt/vc` folder)\n```bash\nmkdir build \u0026\u0026 cd build\ncmake ..\nmake\nsudo make install\n```\n\n## Cross compile\nIt should be compatible with any raspberry cross compilation toolchain.\nVC headers and libraries are needed on the host system, the preferred way is to copy them from a Raspberry Pi image (i.e. copy from rPi `/opt/vc` to PC `/opt/vc`).\n\nThe `make install` command will also install OpenMaxIL-cpp files in this directory.\n```bash\nmkdir build \u0026\u0026 cd build\ncmake -Dcross=1 ..\nmake\nsudo make install\n```\nThe library is statically linked, so there is no need to install anything on the target Raspberry image.\n\n\n## Usage\n### Components\nUnderlying components and port numbers can be found here :\n- http://www.jvcref.com/files/PI/documentation/ilcomponents/\n- https://github.com/raspberrypi/firmware/tree/master/documentation/ilcomponents\n\n### Basic usage\nFor best performance and usability, OpenMaxIL-cpp is built around OpenMAX components system.\nMost of the components have one or more input and output ports which can be connected either to another component or to a buffer for manual handling.\n\nHere is a simple example using **Camera** and **VideoRender** components connected together :\n```cpp\n  // Setup camera 0 (can be 1 on Compute Module, which have two camera ports) with 1280x720 resolution\n  Camera* camera = new Camera( 1280, 720, 0 );\n  // Create video renderer\n  VideoRender* render = new VideoRender();\n\n  // Connect camera continuous video output to renderer input\n  camera-\u003eSetupTunnelVideo( render );\n\n  // Set both components in idle state, this tells OpenMAX that they should be ready to use\n  camera-\u003eSetState( Component::StateIdle );\n  render-\u003eSetState( Component::StateIdle );\n\n  // Start both components, then start camera capture\n  camera-\u003eSetState( Component::StateExecuting );\n  render-\u003eSetState( Component::StateExecuting );\n  camera-\u003eSetCapturing( true );\n```\nComplete example can be found in [`samples`](https://github.com/dridri/OpenMaxIL-cpp/tree/master/samples)/[`camera_live.cpp`](https://github.com/dridri/OpenMaxIL-cpp/tree/master/samples/camera_live.cpp) file\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdridri%2Fopenmaxil-cpp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdridri%2Fopenmaxil-cpp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdridri%2Fopenmaxil-cpp/lists"}