{"id":15523475,"url":"https://github.com/andelf/tinygif","last_synced_at":"2025-04-23T05:13:50.040Z","repository":{"id":173400275,"uuid":"650714149","full_name":"andelf/tinygif","owner":"andelf","description":"A no_std GIF library for embedded applications(embedded-graphics)","archived":false,"fork":false,"pushed_at":"2024-10-01T10:10:08.000Z","size":268,"stargazers_count":24,"open_issues_count":2,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-23T05:13:44.717Z","etag":null,"topics":["animation","embedded-graphics","gif","no-std"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andelf.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","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":"2023-06-07T16:42:47.000Z","updated_at":"2025-02-08T10:11:09.000Z","dependencies_parsed_at":null,"dependency_job_id":"2d7b67cd-133b-4aad-bc40-6f1ce61692d2","html_url":"https://github.com/andelf/tinygif","commit_stats":null,"previous_names":["andelf/tinygif"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andelf%2Ftinygif","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andelf%2Ftinygif/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andelf%2Ftinygif/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andelf%2Ftinygif/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andelf","download_url":"https://codeload.github.com/andelf/tinygif/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250372941,"owners_count":21419723,"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":["animation","embedded-graphics","gif","no-std"],"created_at":"2024-10-02T10:45:27.165Z","updated_at":"2025-04-23T05:13:50.023Z","avatar_url":"https://github.com/andelf.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# tinygif\n\nA tiny gif decoder written in `no_std` Rust.\nThis crate requires about 20kB of memory to decode a gif.\n\n- [x] basic decoding\n- [x] frame iterator\n- [ ] interlace support\n- [ ] fails on some highly compressed gifs: **Change table size in DecodingDict**\n\n## Usage\n\n`Instant` and `Timer` are from Embassy framework, you can replace them with your own delay implementation.\n\n```rust\nlet image = tinygif::Gif::\u003cRgb565\u003e::from_slice(include_bytes!(\"../Ferris-240x240.gif\")).unwrap();\nloop {\n    for frame in image.frames() {\n        let start = Instant::now();\n\n        frame.draw(\u0026mut display).unwrap();\n\n        let remain_delay = ((frame.delay_centis as u64) * 10).saturating_sub(start.elapsed().as_millis());\n        Timer::after_millis(remain_delay).await;\n\n        // Or, draw at given offset\n        // use embedded_graphics::prelude::DrawTargetExt;\n        // frame.draw(\u0026mut display.translated(Point::new(30, 50))).unwrap();\n    }\n}\n```\n\n## License\n\nMIT or Apache-2.0 at your option.\n\n### License of the gif files used in test\n\n\u003e Animated Ferris in Action\n\u003e Happy as a Rustacean at Rust Fest Berlin 2016 (www.rustfest.eu)\n\n- CC BY 4.0 [Animated Ferris for Rust Fest Berlin by A. L. Palmer](https://www.behance.net/gallery/42774743/Rustacean)\n- Resized by [ezgif](https://ezgif.com/resize)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandelf%2Ftinygif","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandelf%2Ftinygif","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandelf%2Ftinygif/lists"}