feat: Implement HEIC/HEIF parsing and rebuilding utilities

- Add `heic_types.py` to define structures for HEIC/HEIF boxes including ItemLocationBox, ItemInfoEntryBox, and others.
- Introduce parsing logic in `parser.py` to handle various box types and their contents, including nested structures.
- Implement rebuilding functionality for ItemLocationBox to adjust offsets based on new metadata.
- Enhance ItemInfoBox to correctly parse and build content for ItemInfoEntry.
- Update `pyproject.toml` to include project metadata and dependencies.
This commit is contained in:
Nymiro
2025-10-20 22:19:40 +13:00
parent b3f0fd4ce3
commit 1a40cc236d
28 changed files with 381 additions and 241 deletions
+30
View File
@@ -0,0 +1,30 @@
[project]
name = "pyheic-struct"
version = "0.1.0"
description = "Low-level utilities for parsing and rebuilding HEIC/HEIF files, with Samsung-to-Apple motion photo conversion helpers."
authors = [
{ name = "Your Name", email = "you@example.com" }
]
license = { text = "MIT" }
readme = "README.md"
requires-python = ">=3.10"
dependencies = [
"Pillow>=10.0.0",
"pillow-heif>=0.15.0",
]
[project.optional-dependencies]
full = [
"exiftool-wrapper>=0.5.0",
]
[project.scripts]
pyheic-struct = "pyheic_struct.cli:main"
[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"
[tool.setuptools.packages.find]
where = ["."]
include = ["pyheic_struct*"]