Repository navigation
v1.0.0
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.exeandffprobe.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.
