{"id":16162500,"url":"https://github.com/sunsided/image-processing-libs-docker","last_synced_at":"2025-07-05T09:34:58.892Z","repository":{"id":141992941,"uuid":"604801083","full_name":"sunsided/image-processing-libs-docker","owner":"sunsided","description":"Scripts and Dockerfiles to simplify building of image processing libraries.","archived":false,"fork":false,"pushed_at":"2023-02-24T00:40:10.000Z","size":28,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-13T08:28:11.590Z","etag":null,"topics":["dav1d","docker","image-processing","libde265","libheif","rav1e"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","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/sunsided.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-02-21T20:22:24.000Z","updated_at":"2023-06-17T14:14:09.000Z","dependencies_parsed_at":"2024-04-18T08:03:37.944Z","dependency_job_id":null,"html_url":"https://github.com/sunsided/image-processing-libs-docker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunsided%2Fimage-processing-libs-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunsided%2Fimage-processing-libs-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunsided%2Fimage-processing-libs-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunsided%2Fimage-processing-libs-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sunsided","download_url":"https://codeload.github.com/sunsided/image-processing-libs-docker/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247589835,"owners_count":20963022,"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":["dav1d","docker","image-processing","libde265","libheif","rav1e"],"created_at":"2024-10-10T02:30:25.932Z","updated_at":"2025-04-07T03:48:14.750Z","avatar_url":"https://github.com/sunsided.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Image Processing Library Builds\n\nScripts and Dockerfiles to simplify building of image processing libraries\nsuch as [libheif], [libdav1d], [librav1e] etc.\n\nMulti-stage Docker builds are used to build the library for the current hardware. \nBuilds are currently targeting `debian:bullseye`.\n\nAfter compiling, an empty Docker image is created `FROM scratch` and the build\nartifacts are copied to it in order to allow easy\naccess in other docker builds:\n\n```dockerfile\nFROM debian:bullseye as builder\nCOPY --from=sunside/libdav1d:1.1.0-x64 /dav1d/lib/ /usr/local/lib/\nRUN ldconfig\n```\n\nPlease consult the detail sections below for the directory layout of each image.\n\n## Building locally\n\nThe [`.env`] file contains configuration shared by all build scripts.\nIf you need to rebuild the libraries under different conditions,\nmake sure to adjust this file to your needs:\n\n```bash\nBASE_IMAGE=debian:bullseye\nDOCKER_REGISTRY=sunside/\n# etc.\n```\n\nTwo helper scripts exist:\n\n- [`list-image-contents.sh`] lists the contents of the created scratch image\n- [`extract-image-contents.sh`] extracts the files from the scratch image and bundles it up in a `.tar.gz` file.\n\n# Libraries\n\n## [libheif] (👉 [libheif.Dockerfile](build/libheif.Dockerfile))\n\n\u003e libheif is an ISO/IEC 23008-12:2017 HEIF and AVIF (AV1 Image File Format) file format decoder and encoder.\n\u003e\n\u003e HEIF and AVIF are new image file formats employing HEVC (h.265) or AV1 image coding, respectively, for the best compression ratios currently possible.\n\nThis build depends on `libde265`, `librav1e` and `libdav1d` built with the scripts below.\nSee [build-heif.sh](build-heif.sh) for the specific versions used.\n\nTo produce `sunside/libheif:1.1.0-x64` ([Docker Hub](https://hub.docker.com/repository/docker/sunside/libheif)), run:\n\n```shell\n./build-heif.sh\n```\n\nThis builds `libheif` as a shared object.\n\n\u003cdetails\u003e\n    \u003csummary\u003eOutput\u003c/summary\u003e\n\n```\n.\n |-lib\n | |-libheif.so.1\n | |-cmake\n | | |-libheif\n | | | |-libheif-config-release.cmake\n | | | |-libheif-config.cmake\n | | | |-libheif-config-version.cmake\n | |-libheif.so.1.15.1\n | |-libheif.so\n | |-libheif\n | | |-libheif-rav1e.so\n | |-pkgconfig\n | | |-libheif.pc\n |-share\n | |-thumbnailers\n | | |-heif.thumbnailer\n |-base-image\n |-COPYING\n |-include\n | |-libheif\n | | |-heif.h\n | | |-heif_version.h\n | | |-heif_cxx.h\n | | |-heif_plugin.h\n```\n\n\u003c/details\u003e\n\n## [libdav1d] (👉 [libdav1d.Dockerfile](build/libdav1d.Dockerfile))\n\n\u003e **dav1d** is an **AV1** cross-platform **d**ecoder, open-source, and focused on speed and correctness.\n\nTo produce `sunside/libdav1d:1.1.0-x64` ([Docker Hub](https://hub.docker.com/repository/docker/sunside/libdav1d)), run:\n\n```shell\n./build-dav1d.sh\n```\n\nThis builds `libdav1d` as both a shared object and static archive.\n\n\u003cdetails\u003e\n    \u003csummary\u003eOutput\u003c/summary\u003e\n\n```\n.\n |-lib\n | |-x86_64-linux-gnu\n | | |-libdav1d.so\n | | |-libdav1d.so.6\n | | |-libdav1d.so.6.8.0\n | | |-libdav1d.a\n | | |-pkgconfig\n | | | |-dav1d.pc\n |-base-image\n |-COPYING\n |-include\n | |-dav1d\n | | |-data.h\n | | |-picture.h\n | | |-common.h\n | | |-headers.h\n | | |-version.h\n | | |-meson.build\n | | |-dav1d.h\n | | |-version.h.in\n\n```\n\n\u003c/details\u003e\n\n## [libde265] (👉 [libde265.Dockerfile](build/libde265.Dockerfile))\n\n\u003e libde265 is an open source implementation of the h.265 video codec.\n\nTo produce `sunside/libde265:1.0.11-x64` ([Docker Hub](https://hub.docker.com/repository/docker/sunside/libde265)), run:\n\n```shell\n./build-de265.sh\n```\n\nThis builds `libde265` as a shared object.\n\n\u003cdetails\u003e\n    \u003csummary\u003eOutput\u003c/summary\u003e\n\n```\n.\n |-lib\n | |-cmake\n | | |-libde265\n | | | |-libde265Config-release.cmake\n | | | |-libde265ConfigVersion.cmake\n | | | |-libde265Config.cmake\n | |-pkgconfig\n | | |-libde265.pc\n | |-libde265.so\n |-base-image\n |-COPYING\n |-include\n | |-libde265\n | | |-en265.h\n | | |-de265-version.h\n | | |-de265.h\n```\n\n\u003c/details\u003e\n\n## [librav1e] (👉 [librav1e.Dockerfile](build/librav1e.Dockerfile))\n\n\u003e The fastest and safest AV1 encoder.\n\nTo produce `sunside/librav1e:0.6.3-x64` ([Docker Hub](https://hub.docker.com/repository/docker/sunside/librav1e)), run:\n\n```shell\n./build-rav1e.sh\n```\n\nThis builds `librav1e` as both a shared object and a static archive.\n\n\u003cdetails\u003e\n    \u003csummary\u003eOutput\u003c/summary\u003e\n\n```\n.\n |-lib\n | |-librav1e.a\n | |-librav1e.so\n | |-librav1e.so.0.6.3\n | |-pkgconfig\n | | |-rav1e.pc\n | |-librav1e.so.0\n |-base-image\n |-include\n | |-rav1e\n | | |-rav1e.h\n |-LICENSE\n```\n\n\u003c/details\u003e\n\n[libdav1d]: https://code.videolan.org/videolan/dav1d\n[libde265]: https://github.com/strukturag/libde265\n[libheif]: https://github.com/strukturag/libheif\n[librav1e]: https://github.com/xiph/rav1e\n\n[`.env`]: .env\n[`list-image-contents.sh`]: list-image-contents.sh\n[`extract-image-contents.sh`]: extract-image-contents.sh\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsunsided%2Fimage-processing-libs-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsunsided%2Fimage-processing-libs-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsunsided%2Fimage-processing-libs-docker/lists"}