Skip to content

[libmotionphoto] Promote Development to main (HEIC/AVIF detection without libheif & extractor decoupling) - #9

Merged
DichenZhang1 merged 4 commits into
mainfrom
Development
Oct 8, 2026
Merged

DichenZhang1 merged 4 commits into
mainfrom
Development

Conversation

@DichenZhang1

Copy link
Copy Markdown
Collaborator

Summary

Promotes Development (b09d29d) into main, bringing in:

  1. PR Decouple Motion Photo extractor from MotionPhotoChecker and track exact video/image offsets #7 (562d71f) — Decouple Motion Photo extractor from MotionPhotoChecker and track exact video/image offsets:

    • Splits ParseXmpMetadata() out of ParseAndCheckXmpMetadata() in motion_photo_checker_extractor_common.{h,cc}.
    • Removes MotionPhotoChecker calls from ExtractMotionPhoto in motion_photo_extractor/function.cc and guards the 3P MetadataEngine extraction fast-path with engine.IsMotionPhoto(collection).
    • Adds ExtractionBypassesCheckerValidation unit test in motion_photo_extractor_test.cc.
  2. PR fix(heif): detect HEIC and AVIF motion photos without libheif #8 (b09d29d) — Detect HEIC and AVIF motion photos without libheif:

    • Adds libheif-free CreateHeifContainerSplitter() in heif_container_splitter.cc (container_splitter.h, jpeg_container_splitter.cc, metadata_engine.cc).
    • Adds SniffFileType() in motion_photo_jni.cc so JNI parseMetadata / parseMetadataFd and AGTM entry points detect ftyp HEIC/AVIF inputs.
    • Adds unit tests in heif_container_splitter_test.cc, libmotionphoto_api_test.cc, and MetadataEngineTest.java.

Verification

  • Standalone CMake build & test (./build.sh && ./test.sh): 74/74 tests passed
  • API doc check (./tools/check_api_doc.sh): Passed
  • Google3 Blaze C++ & Robolectric test suites: 15/15 test suites passed
  • Android arm64-v8a JNI build: Passed

@DichenZhang1
DichenZhang1 merged commit d74aef8 into main Oct 8, 2026
15 checks passed
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