Skip to content

v1.1.0

Choose a tag to compare

@HongHuo0728 HongHuo0728 released this 23 Sep 13:33
· 16 commits to main since this release

LogForge v1.1.0

LogForge v1.1.0 adds verified Apple Log automatic identification in DaVinci Resolve, fixes incorrect VFR detection for fixed-cadence camera footage, strengthens FFmpeg execution security, and improves metadata handling, CPU processing, and output validation.

Version: 1.1.0
Build: 26923C

DaVinci Resolve Apple Log Identification

  • Added automatic Apple Log / Rec.2020 input identification, verified in DaVinci Resolve Studio 20.3.2.9 on Windows using DaVinci YRGB Color Managed.
  • Compared an unmodified iPhone 15 Pro Max / Blackmagic Camera Apple Log original against a negative LogForge baseline, isolated metadata candidates, and actual converted outputs.
  • Confirmed automatic identification without manually assigning the clip input color space, gamma, or input LUT.
  • Added a separate metadata writer that inserts the native-reference logs ProRes sample-entry extension with the identifier com.apple.rec2020.apple-log.
  • Preserved the existing nclc 9/2/9 declaration, BT.2020 primaries and matrix, and Video-range encoding.
  • Confirmed that Resolve's Auto data levels matched Video levels for the tested output.
  • Verified that the identification step preserves the complete encoded video and audio payload.
  • No camera model, Apple encoder identity, apl0 tag, or unverified private atom is fabricated.

Automatic identification remains unverified in other Resolve versions or editions, Adobe Premiere Pro, and Final Cut Pro.

Correct CFR Detection

  • Fixed false VFR rejection for fixed-cadence footage recorded at rates such as 29.99, 29.98, and 29.9701 fps.
  • Average and nominal frame-rate tags are now treated as candidate information rather than definitive evidence of VFR.
  • CFR verification checks every video packet's PTS, duration, adjacent interval, and cumulative phase.
  • True VFR, timestamp gaps, duplicate or backward timestamps, and sustained timing drift remain rejected.
  • Timing failures identify the affected packet and the specific timing error.

Safer FFmpeg Discovery and Execution

  • Automatic disk scanning now discovers FFmpeg paths without executing unknown programs.
  • Execution requires either a verified managed download or explicit user approval.
  • Approval is tied to the canonical paths and SHA-256 hashes of both ffmpeg.exe and ffprobe.exe.
  • Replaced or modified binaries require approval again.
  • Approved executable files are protected against modification or replacement while in use.
  • Added regression tests proving that untrusted fake FFmpeg executables are discovered without being executed.

Numerical FFmpeg Verification

  • Added reference-signal checks for actual matrix and range conversion, left/center chroma phase, and ProRes encode/decode results.
  • Distinguished Verified FFmpeg from Compatible but unverified FFmpeg.
  • Only numerically verified FFmpeg builds may perform conversions.
  • Encoder and filter availability alone no longer qualify a build for conversion.

Metadata and Chroma Handling

  • Replaced broad metadata copying with explicit whitelists for container, video, and audio tags.
  • Preserve safe source fields such as creation time, original camera make/model, and timecode when present.
  • Remove conflicting HLG, HDR, Dolby, PQ, colorspace, and custom-gamma metadata.
  • Record preserved and removed metadata in the validation report.
  • Apply declared left or center input chroma siting during conversion.
  • Require an explicit user declaration when input chroma siting is missing, and reject unsupported siting.
  • Validate output chroma siting and record its numerical verification evidence.

Reference MOV Analysis

  • Expanded meta, keys, ilst, mdta, and data parsing into readable key names and typed values.
  • Improved inspection of ProRes sample-entry children, including Apple Log identification.
  • Added support for the documented four-byte video-description terminator found in the native reference.
  • Improved --analyze A B with semantic metadata comparisons that exclude irrelevant file-size and byte-offset differences.

CPU Processing and Memory

  • Added persistent CPU workers for the standard color transform.
  • Stream standard conversion through a bounded 4 MiB float buffer instead of retaining a full float RGB frame for that stage.
  • Process Creative adjustments using parallel RGB tiles.
  • Verify optimized processing against the independent scalar reference with exact float-result comparisons.
  • Retain the existing 32-bit float intermediate and published color mathematics.

These changes remain CPU-based. The sustained 4K120 test verifies correctness and stability; it does not imply real-time conversion speed.

Stronger Output Validation

  • Added average and nominal frame rates, verified cadence, maximum interval error, and maximum phase error to validation reports.
  • Added FFmpeg path, version, SHA-256, and trust information.
  • Added metadata conflict checks, chroma evidence, and structural Apple Log identification checks.
  • Preserve the partial-file → validation → final rename workflow.
  • Refuse to overwrite a destination, including one created while conversion is running.
  • Keep per-file structural validation separate from the recorded Resolve compatibility tests.

Regression Tests and Verification

  • Added coverage for 29.99 fps CFR, mismatched frame-rate tags with valid cadence, true VFR, cumulative drift, timestamp gaps, and duplicate PTS.
  • Added executable non-execution and hash-change tests.
  • Expanded metadata, chroma, drop-frame timecode, multiple-audio-stream, and 180/270-degree rotation coverage.
  • Added post-encode numerical sampling and a sustained 240-frame 3840 × 2160 conversion at 120 fps.
  • Added identification-writer tests for atom bounds, extended sizes, terminators, idempotence, conflicts, cancellation, and payload preservation.
  • The conversion implementation passed 16/16 CTest groups on build 26923B, including the full media and sustained 4K120 tests.
  • Real Resolve imports verified both standard and Creative-adjustment GUI outputs on that implementation.
  • The final 26923C build passed 11/11 core and resource test groups, native interface checks, and portable-package validation.
  • Build 26923C updates version stamps, documentation, and packaging without changing the previously tested conversion or identification implementation.

Documentation and Release Package

  • Added CHANGELOG.md and documented the complete 1.1.0 feature scope, including Apple Log automatic identification.
  • Updated the README, technical documentation, verification records, and main-window screenshot.
  • Removed downloaded reference footage, generated test media, render images, temporary Resolve projects, and obsolete local test resources.
  • Retained reproducible test source and documented provenance, hashes, and verification conclusions.
  • Audited the portable ZIP against an explicit 16-file allowlist and confirmed that its executable matches the tested Release build.
  • The package contains no FFmpeg binaries, test footage, logs, or personal settings.

Compatibility

  • Supports Windows 10 22H2 and Windows 11 on x64.
  • Output remains Apple Log / BT.2020 ProRes 422 HQ, 10-bit 4:2:2, with Video levels in a MOV container.
  • The official Apple Log equations, inverse HLG OETF, and BT.2408 reference scaling remain unchanged.
  • Creative adjustments remain disabled by default and separate from standard conversion.
  • Audio stream copy, cancellation, supervised child processes, and no-overwrite behavior remain in place.
  • Automatic identification establishes editor compatibility; it does not recover clipped highlights, crushed shadows, or information lost during capture.

Download

Download LogForge-1.1.0-Windows-x64.zip, extract it, and run LogForge.exe.

No installer or separately installed Visual C++ Runtime is required. FFmpeg is detected and verified separately, with a managed download option available when needed.
屏幕截图 2026-09-23 153309