Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

feat: transcode WXGF image attachments#103

Open
richardzone wants to merge 1 commit into
jackwener:main from
richardzone:codex/wxgf-hevc-extract-upstream
Open

feat: transcode WXGF image attachments #103
richardzone wants to merge 1 commit into
jackwener:main from
richardzone:codex/wxgf-hevc-extract-upstream

Conversation

@richardzone

@richardzone richardzone commented Jun 9, 2026

Copy link
Copy Markdown

What changed

  • Adds a WXGF/WXAM helper that finds the largest HEVC partition in WeChat 4 image containers.
  • Makes wx extract automatically transcode decoded WXGF/HEVC images to JPG through ffmpeg.
  • Adds wx extract --raw for callers that need to keep the decoded WXGF/HEVC container.
  • Documents the WeChat cache behavior where unopened images may only have _t.dat thumbnails locally.

Why

WeChat 4 can store image attachments as private wxgf containers. wx extract could decrypt the .dat file but still write a container that normal image viewers and OCR tools could not read. This keeps normal image outputs usable by default while preserving a raw escape hatch.

Implementation notes

  • No Python or native image decoder dependency is added.
  • WXGF parsing is done in Rust.
  • ffmpeg is invoked through temp input/output files instead of stdin/stdout pipes to avoid pipe backpressure or orphaned child process issues.
  • WX_FFMPEG can override the ffmpeg path.

Validation

  • Subagent code review performed; pipe/backpressure and partition length concerns were addressed.
  • cargo check --locked
  • cargo test --locked

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

No reviews

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

1 participant

AltStyle によって変換されたページ (->オリジナル) /