{"id":23021042,"url":"https://github.com/b-sullender/capi","last_synced_at":"2026-05-02T05:05:13.650Z","repository":{"id":54487645,"uuid":"317695229","full_name":"b-sullender/CAPI","owner":"b-sullender","description":"General C/C++ programming library with data algorithms and CPU based image processing","archived":false,"fork":false,"pushed_at":"2021-02-19T02:44:57.000Z","size":6651,"stargazers_count":3,"open_issues_count":5,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-02T18:52:28.834Z","etag":null,"topics":["algorithms","c","cplusplus","ieee754","image","image-manipulation","image-processing","images","operating-systems","string","string-algorithms","string-manipulation","strings"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/b-sullender.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-12-01T23:29:55.000Z","updated_at":"2023-11-08T12:46:16.000Z","dependencies_parsed_at":"2022-08-13T17:30:55.883Z","dependency_job_id":null,"html_url":"https://github.com/b-sullender/CAPI","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/b-sullender/CAPI","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b-sullender%2FCAPI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b-sullender%2FCAPI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b-sullender%2FCAPI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b-sullender%2FCAPI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/b-sullender","download_url":"https://codeload.github.com/b-sullender/CAPI/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b-sullender%2FCAPI/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262996355,"owners_count":23396903,"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":["algorithms","c","cplusplus","ieee754","image","image-manipulation","image-processing","images","operating-systems","string","string-algorithms","string-manipulation","strings"],"created_at":"2024-12-15T12:16:14.454Z","updated_at":"2026-05-02T05:05:13.619Z","avatar_url":"https://github.com/b-sullender.png","language":"C","readme":"# CAPI\n\nData and Image processing library for general C/C++ programming. This is a non-specific operating system library designed to integrate into any future operating system and their applications. To keep this library independent, required libraries are built into CAPI\n\nThis library ships with the following 3rd party library source code:  \n```\njpeg-9d  \nzlib-1.2.11  \n```\nSee the [CHANGELOG](https://github.com/b-sullender/CAPI/blob/main/CHANGELOG.md) file for details about any changes to the source code.\n\n## Key Features\n\n**Cross-platform**\n\n- Windows\n- Linux\n- macOS\n\n**Image support**\n\n- [BMP](https://wikipedia.org/wiki/BMP_file_format)\n- [JPG](https://wikipedia.org/wiki/JPEG)\n- [PNG](https://wikipedia.org/wiki/Portable_Network_Graphics)\n- [ICO](https://wikipedia.org/wiki/ICO_(file_format))\n\n**String support**\n\nA string type that automatically handles string manipulation, conversion with data variables, and its buffer size.\n\nSimple interface for manipulating strings of encoding types *ASCII*, *UTF8*, *UTF16* and *UTF32*. **ToString** and **FromString** functions for conversion between data variables and strings, with IEEE 754 support and customization of formatting.\n\nLICENSE TERMS\n=============\n```\n  This software is provided 'as-is', without any express or implied\n  warranty.  In no event will the authors be held liable for any damages\n  arising from the use of this software.\n  \n  Permission is granted to anyone to use this software for any purpose,\n  including commercial applications, and to alter it and redistribute it\n  freely, subject to the following restrictions:\n  \n  (1) If any part of the source code for this software is distributed, then this\n      README file must be included, with this copyright and no-warranty notice\n      unaltered; and any additions, deletions, or changes to the original files\n      must be clearly indicated in accompanying documentation.\n  (2) If only executable code is distributed, then the accompanying\n      documentation must state that \"this software is based in part on the work of\n      the Independent JPEG Group\".\n  (3) Permission for use of this software is granted only if the user accepts\n      full responsibility for any undesirable consequences; the authors accept\n      NO LIABILITY for damages of any kind.\n```\n\n# Compiling CAPI\nUse cmake to build a solution/project for your desired IDE (cmake-gui is tested and recommended)  \nThis project has been tested with the following:  \n```\n  Visual Studio 2019 (Windows 10, x86, x86-64)\n  Visual Studio 2010 (Windows XP, x86, x86-64)\n  Unix Makefiles (gcc/g++) (Ubuntu MATE, ARMv7-A ODROID-XU4)\n  CodeBlocks - Unix Makefiles (gcc/g++, clang) (Fedora 32, x86-64)\n  CodeBlocks - Unix Makefiles (gcc/g++) (Ubuntu 20.04.1, x86-64)\n  Xcode (macOS Big Sur) (Graphics not tested, native graphical window will be added)\n```\nOn Linux and macOS the included TestApp program uses X11 for creating windows with a frame buffer.  \nSee the [HELP](https://github.com/b-sullender/CAPI/blob/main/HELP.md) file for details about setting up a workstation \u0026 installing the needed X11 dev package.  \n\n# Using CAPI\nAfter building the project files, run the included TestApp program to test CAPI.  \nTestApp has several commands for testing the CAPI library, see the [HELP](https://github.com/b-sullender/CAPI/blob/main/HELP.md) file for details.  \nYou can include CAPI.h and link to CAPI.lib (Linux, libCAPI.so) in your C/C++ projects.  \nExported CAPI functions start with **capi_** to identify them.  \nSome wrapper functions (E.g. zpipe.c functions) may not use the **capi_** identifier.  \nC/C++ preprocessors may also use the **capi_** identifier for system compatibility.  \n\n# Contact \u0026 reporting problems\nSimple \"how do i...\", \"I'm having trouble\", or \"is this a bug\" questions are best asked at [Discussions Q\u0026A](https://github.com/b-sullender/CAPI/discussions/categories/q-a)  \nBugs, build problems, and discovered vulnerabilities that you are relatively certain is a legit problem in the code, and for which you can give clear instructions for how to reproduce, should be [reported as issues](https://github.com/b-sullender/CAPI/issues)\n\nIf confidentiality precludes a public question or issue, you may contact the project leader privately at capi.project.brian@gmail.com\n\n# Contributing\nCAPI welcomes code contributions. You can request to be a collaborator at [Contribute Request](https://github.com/b-sullender/CAPI/discussions/categories/contribute-request). We take code contributions via the usual GitHub pull request (PR) mechanism. Please see [CONTRIBUTING](https://github.com/b-sullender/CAPI/blob/main/CONTRIBUTING.md) for detailed instructions.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fb-sullender%2Fcapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fb-sullender%2Fcapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fb-sullender%2Fcapi/lists"}