Skip to content

Add Honor / Huawei Moving Picture 3P plugin (HiHonor_*/LivePhoto_* TLV and LIVE_ footer) - #13

Merged
DichenZhang1 merged 1 commit into
Developmentfrom
feat/plugin-honor-live-photo
Oct 13, 2026
Merged

DichenZhang1 merged 1 commit into
Developmentfrom
feat/plugin-honor-live-photo

Conversation

@DichenZhang1

Copy link
Copy Markdown
Collaborator

Summary

Adds the honor_live_photo 3P metadata provider plugin supporting Honor and Huawei Moving Picture formats (HiHonor_* / LivePhoto_* backward-linked 20-byte TLV trailer chains and classic LIVE_<size> footers).

Key Changes

  • Plugin Implementation (lib/core/plugins/honor_live_photo/):
    • honor_live_photo_metadata.proto: Defines HonorLivePhotoMetadata (format_variant, has_embedded_video, video_offset, video_length, scene_mode, primary_image_timestamp_us, tlv_tags).
    • HonorLivePhotoProvider: Walks backward-linked [payload][u32LE(len)][20B tag] TLV chains (HiHonor_*, LivePhoto_*), extracts sceneMode from HiHonor_OfflineData JSON, locates embedded MP4 payloads inside TLV records or classic LIVE_<size> footers, and only reports IsMotionPhoto = true when a valid MP4 video stream is present.
  • Tests (honor_live_photo_provider_test.cc):
    • Unit and end-to-end tests covering Identify, DecodeToSemantic, GetVideoInfo, IsMotionPhoto (both metadata-only HiHonor_OfflineData sceneMode:73 chains and embedded MP4 chains), classic LIVE_<size> footers, primary image/video extraction, HandlerOptions gating, and malformed TLV boundary safety.

@DichenZhang1
DichenZhang1 force-pushed the feat/plugin-honor-live-photo branch from 2fbd803 to c8d1f10 Compare October 12, 2026 23:01
@DichenZhang1
DichenZhang1 merged commit ec0269b into Development Oct 13, 2026
5 checks passed
@DichenZhang1
DichenZhang1 deleted the feat/plugin-honor-live-photo branch October 13, 2026 21:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant