Commit Graph

37 Commits

Author SHA1 Message Date
dmwf994 5079b26215 chore: 从 git 追踪中移除 __pycache__ 编译缓存文件
这些 .pyc 文件已在 .gitignore 中排除,但因之前已追踪,需要手动从索引中移除。
.gitignore 中的规则 (__pycache__/, *.pyc, *.pyo) 将防止以后重新添加。
2026-06-03 21:39:42 +12:00
dmwf994 048460facd fix: 修复 iref 引用解析的多个 bug
- Bug 1 (高): remove_item_by_id 从偏移量 4 读取 from_id,与修正后的解析器不一致。改为偏移量 0。
- Bug 2 (高): _parse_references_from_children 无条件重置同类型引用条目,导致多条目覆盖。改为 setdefault。
- Bug 4 (低): get_thumbnail_data 中精确匹配与移位匹配的条件合并为单次 O(n) 扫描。
- Bug 5 (低): get_grid_layout 冗余字典查找合并为单次 .get() 调用。

通过 examples/ 下 4 个 HEIC 样例文件验证通过。
2026-06-03 21:34:44 +12:00
nymiro 82c567f777 chore: initial Gitea migration with .gitignore 2026-06-03 18:36:28 +12:00
nymiro 837cd88ec9 web 2025-10-23 21:03:50 +13:00
nymiro 2658bb97a2 feat: 更新可执行文件构建工作流,添加 Windows 和 macOS 支持,并修改依赖版本 2025-10-23 21:01:46 +13:00
nymiro 3d63404c51 feat: 修改发布工作流触发条件为推送标签 2025-10-23 18:26:49 +13:00
nymiro 9a8d45a9bd feat: 添加环境配置到 GitHub Actions 工作流 2025-10-23 18:25:26 +13:00
nymiro cc534cfca4 feat: 添加 GitHub Actions 工作流以发布 pyheic-struct 到 PyPI 2025-10-23 18:18:38 +13:00
nymiro e9c4f17f6e 整理文件夹结构 2025-10-23 18:12:08 +13:00
Nymiro f0a03e8376 Refactor code structure for improved readability and maintainability 2025-10-21 13:29:10 +13:00
Nymiro 3c41c57084 feat: 添加语言切换功能,优化 UI 文本更新逻辑 2025-10-21 02:36:10 +13:00
Nymiro 9fa2d2c0a2 feat: 优化视频处理逻辑,添加归档原始三星照片功能,支持将文件打包为 zip 2025-10-21 02:11:47 +13:00
Nymiro 9dcc956415 feat: 添加归档原始三星照片功能,支持将转换后的文件打包为 zip 2025-10-21 02:02:22 +13:00
Nymiro 150152fb11 三星动态照片转换Apple Live Photo的批处理GUI脚本 2025-10-21 01:54:10 +13:00
Nymiro b338dcf1be feat: 添加英文版 README.md,提供项目概述和使用指南 2025-10-21 00:07:37 +13:00
Nymiro c559ee9683 feat: 添加 Apple MakerNote 元数据构建功能,支持 Live Photo 识别 2025-10-21 00:00:42 +13:00
Nymiro 9c480d9edb Add Apple target adapter for HEIC conversion and MOV processing
- Implemented `AppleTargetAdapter` to modify HEIC files for Apple compatibility and inject ContentIdentifier into MOV files.
- Created a base `TargetAdapter` class to define the interface for target adapters.
- Added utility script for converting Samsung HEIC motion photos into Apple-compatible Live Photo pairs.
- Introduced error handling for missing exiftool during MOV processing.
- Updated module structure to include target adapters for HEIC/Motion Photo outputs.
2025-10-20 23:10:04 +13:00
Nymiro 63f148951c Implement HEIC parsing with vendor-specific handlers
- Added a new parser for HEIC files that supports recursive parsing of boxes.
- Introduced vendor-specific handlers for Apple and Samsung HEIC features.
- Created an abstract base handler for common functionality across vendors.
- Implemented methods to find motion photo offsets and handle embedded video data.
- Updated the structure to accommodate additional box types and improve parsing efficiency.
2025-10-20 22:32:06 +13:00
Nymiro 328493fb5a 更新 README.md 完善项目描述 2025-10-20 22:22:36 +13:00
Nymiro 1a40cc236d 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.
2025-10-20 22:19:40 +13:00
Nymiro b3f0fd4ce3 更新 HEIC 文件处理逻辑,修复 ID 映射并优化属性关联处理 2025-10-20 22:07:29 +13:00
Nymiro c0c159a7cc Merge pull request #3 from Bai-Mirror/codex/analyze-samsung_apple_compatible.heic-issue-0gnqzk
Preserve optional content type strings in infe boxes
2025-10-20 21:29:56 +13:00
Nymiro d857e5109a Preserve optional content type strings in infe boxes 2025-10-20 21:29:36 +13:00
Nymiro 6b1534cefe Merge pull request #2 from Bai-Mirror/codex/analyze-samsung_apple_compatible.heic-issue-ryyjbl
Fix parsing of Samsung infe boxes
2025-10-20 21:10:10 +13:00
Nymiro 9ec6d86e2d Fix parsing of Samsung infe boxes 2025-10-20 21:09:50 +13:00
Nymiro 232df7d243 Merge pull request #1 from Bai-Mirror/codex/analyze-samsung_apple_compatible.heic-issue
Fix ItemInfoEntryBox builder order
2025-10-20 20:53:01 +13:00
Nymiro c7c81aada8 Fix ItemInfoEntryBox builder order 2025-10-20 20:51:54 +13:00
Nymiro 17f2fd893a heic-2 2025-10-20 20:25:02 +13:00
Nymiro 70130d9e6b heic重构建 2025-10-20 20:14:58 +13:00
Nymiro 366e2f7c82 添加缩略图提取逻辑 2025-10-20 14:30:51 +13:00
Nymiro 6778f7f712 添加pyheif 2025-10-20 14:05:53 +13:00
Nymiro 7130a1b85c 更新 HEICFile 和相关类以支持 'iref' 功能,添加获取网格布局的方法,增强文件分析功能 2025-10-20 12:55:31 +13:00
Nymiro 7715acd18b 更新 HEICFile 类以支持新特性,添加图像尺寸获取功能,重构解析逻辑,增强代码可读性和健壮性 2025-10-20 12:47:47 +13:00
Nymiro 812318c50c 添加 ItemInfoBox 和 PrimaryItemBox 类,更新 HEICFile 类以支持提取主图像 ID 和列出可用项 2025-10-20 12:25:22 +13:00
Nymiro b4d35521cf 实现 AppleHandler 和 SamsungHandler 类,处理特定于供应商的 HEIC 特性,添加查找嵌入视频的逻辑 2025-10-20 12:10:59 +13:00
Nymiro 8ee1d7984a 添加 Box 类及其子类 ItemLocationBox 的实现,包含初始化和解析逻辑 2025-10-20 11:58:35 +13:00
Nymiro 23808a3ba6 添加 .DS_Store 文件 2025-10-20 11:44:49 +13:00