Skip to content

v1.0.0

Choose a tag to compare

@HongHuo0728 HongHuo0728 released this 22 Sep 13:23
· 17 commits to main since this release

LogForge v1.0.0

LogForge v1.0.0 is a native Windows desktop release for converting 10-bit BT.2020 HLG ProRes footage into Apple Log / BT.2020 ProRes 422 HQ. This release introduces a bilingual interface, dark and light themes, persistent settings, automatic FFmpeg discovery, and a portable distribution.

Build: 26922A

Apple Log Conversion

  • Convert actual pixel data from BT.2020 HLG to Apple Log using independently testable color mathematics.
  • Decode HLG into scene-linear RGB before applying the Apple Log transfer function.
  • Use double-precision reference equations and 32-bit floating-point RGB transport without an 8-bit intermediate.
  • Retain BT.2020 throughout the conversion without an unnecessary Rec.709 gamut conversion.
  • Output QuickTime MOV with ProRes 422 HQ, 10-bit 4:2:2 video.
  • Preserve source resolution, verified nominal frame rate, and video frame count.
  • Copy audio without re-encoding and validate its codec, sample rate, channel count, and layout.
  • Preserve timecode, creation metadata, original device Make/Model, and supported rotation metadata.
  • Keep exposure adjustment separate from the standard transfer function.

Interface and Application Identity

  • Add an original spectrum-and-curve application icon with nine embedded sizes.
  • Apply the icon to the executable, window caption, taskbar, and main interface.
  • Set Windows FileVersion and ProductVersion text to 1.0.0.
  • Display 1.0.0 (26922A) inside the application.
  • Generate application, Windows resource, and manifest version definitions from CMake.
  • Move processing status, progress details, diagnostics, license information, and local-processing notes to the bottom left.
  • Display target devices, recording requirements, and editor color-assignment guidance at the bottom right.

Language and Appearance

  • Support English and Simplified Chinese.
  • Use English as the first-run language, independent of the Windows display language.
  • Add Dark and Light themes, with Dark enabled by default.
  • Apply saved language and theme changes immediately without restarting.
  • Localize application-owned controls, progress messages, warnings, and errors.
  • Retain stable diagnostic identifiers independently of translated text.
  • Update public documentation and the README screenshot to English.
  • Provide scrollable content for constrained window sizes and high-DPI layouts.

Settings and Creative Adjustments

  • Introduce a Settings window with three groups: Language, Appearance, and Creative adjustments.
  • Move shadow lift, highlight reduction, and saturation controls into Settings.
  • Keep creative adjustments disabled by default.
  • Use initial enabled values of 3 EV shadow lift, 1 EV highlight reduction, and 85% saturation.
  • Retain adjustment values when the feature is switched off.
  • Apply the optional creative grade in scene-linear BT.2020 before the unchanged Apple Log encoding.
  • Save preferences for subsequent launches without overwriting FFmpeg paths or unrelated settings.
  • Discard pending changes when Cancel is selected.
  • Disable Settings during background tasks and capture conversion options before starting a job.

Automatic FFmpeg Discovery

  • Check managed tools, saved locations, PATH entries, and common installation directories automatically.
  • Search accessible local fixed and removable drives when quick discovery does not find a compatible installation.
  • Include local volumes mounted as folders.
  • Require both ffmpeg.exe and ffprobe.exe.
  • Validate executable versions, required filters, float and 10-bit formats, and actual ProRes encode/decode capability.
  • Continue searching after an invalid candidate is rejected.
  • Cache verified locations and validate them again on subsequent launches.
  • Hide the download and manual-selection buttons whenever FFmpeg is ready.
  • Show both fallback buttons only after completed discovery finds no compatible installation.
  • Support cancellation and display actual directory, candidate, and skipped-location counts.
  • Skip inaccessible locations, unavailable volumes, offline files, reparse subdirectories, recycle bins, and protected restore data.

Input Requirements and Workflow Guidance

  • List iPhone 13 Pro, iPhone 13 Pro Max, iPhone 14 Pro, and iPhone 14 Pro Max as target devices.
  • Require ProRes 422 HDR or ProRes 422 HQ HDR with 10-bit BT.2020 HLG encoding.
  • Determine compatibility from actual media parameters rather than a device-model allowlist.
  • Preserve supported source resolutions and frame rates without forcing a 4K or 24 fps preset.
  • Reject unsupported codecs, color definitions, pixel formats, and timing instead of silently converting them.
  • Keep original device identity metadata.

Progress, Diagnostics, and Validation

  • Report conversion progress using actual FFmpeg frame and timestamp output.
  • Show estimated remaining time only when usable progress and speed measurements are available.
  • Support cancellation with supervised child-process cleanup.
  • Validate output format, profile, bit depth, chroma sampling, dimensions, frame rate, color metadata, audio, and duration before reporting completion.
  • Publish the destination file only after validation succeeds.
  • Preserve existing destination files instead of overwriting them.
  • Report signal-range warnings separately from successful container and codec validation.
  • Keep logs and validation reports local.

Portable Release and Open-Source Packaging

  • Provide LogForge-1.0.0-Windows-x64.zip, approximately 578 KiB.
  • Use the static MSVC runtime to avoid a separate Visual C++ Runtime installation requirement for LogForge.
  • Exclude FFmpeg binaries from the portable ZIP.
  • Retain the optional per-user FFmpeg installer with a pinned HTTPS download, SHA-256 verification, download progress, retries, and post-install capability checks.
  • Require no administrator installation or global PATH changes.
  • Use an explicit allowlist for packaged files.
  • Exclude personal recordings, generated media, local settings, logs, and build artifacts from published source and release contents.
  • Add a package audit that checks allowed files and verifies that the packaged executable matches the tested Release build.
  • Retain the MIT license for LogForge and separate third-party notices.

Verification

  • CMake configuration and the MSVC Release build completed successfully.
  • All 9 CTest groups passed.
  • Apple Log reference points, encode/decode round trips, HLG decoding, and generated-media signal checks passed.
  • Settings persistence, localization consistency, FFmpeg discovery, and compiled version/icon resource tests passed.
  • 14 native UI scenarios passed across both languages, both themes, and 100%, 150%, and 200% layout scales, including explicit missing-FFmpeg UI cases.
  • The packaged executable completed standard and creative generated-video conversions through the native GUI.
  • Output validation confirmed ProRes 422 HQ, 10-bit 4:2:2, BT.2020, expected frame count, and preserved audio parameters.
  • The release archive contained exactly 14 allowed files and no FFmpeg binaries or test media.

Compatibility and Known Limitations

  • Target platforms are Windows 10 22H2 and Windows 11, x64.
  • Local build and runtime verification were performed on Windows 11; a separate Windows 10 boot test remains outstanding.
  • ARM64, macOS, and Linux are not supported in this release.
  • Automatic Apple Log identification by commercial editing software is not certified. Assign Apple Log / Rec.2020 and Video data levels manually when required.
  • Output uses an unspecified standard transfer metadata value alongside LogForge-owned descriptive metadata; no private Apple identifier is fabricated.
  • Native iPhone Apple Log appearance and private MOV metadata equivalence remain unverified.
  • Creative adjustments are an optional grade, not a reconstruction of a native camera rendering pipeline.
  • LogForge does not recover clipped highlights, crushed shadows, tone-mapped-away detail, or information lost in the camera ISP.
  • No personal recording is required by the current regression suite.

LogForge is an independent open-source project and is not affiliated with or endorsed by Apple Inc. Apple, ProRes, and Apple Log are trademarks of their respective rights holders.
LogForge