Repository navigation
Releases
Releases · devgodys/HDR-to-SDR-Video-Converter
HDR-to-SDR-Converter v.25.0
v25.0
Added
- Compare tone-mapping methods dialog: Visual side-by-side comparison of up to 18 GPU (
libplacebo) and CPU (zscale+tonemap) curve × gamut combinations (Perceptual,Relative,Clip) on any frame from the source video, with an interactive timeline frame strip, 5-second test video clip rendering, and one-click ✓ Apply to conversion. - Dolby Vision & HDR10+ support: Automatic detection of Dolby Vision (Profile 5, Profile 7, Profile 8) and HDR10+ dynamic metadata, native Profile 5 ICtCp reshaping via
libplacebo, andST2094-40/ST2094-10dynamic tone-mapping curves. - Pro colour & image filters: Interactive 2D Brightness × Saturation pad, Colour temperature (Cool ↔ Warm) slider, Denoise (
hqdn3d/nlmeans), Deband (gradfun), Sharpen (unsharp), 10-bit HDR Auto-crop, and Subtitle burn-in. - Crash-safe conversion resume: Interrupted conversions are tracked automatically and can be resumed from the last completed keyframe segment with seamless segment splicing and output verification.
- Mini mode: Compact drag-and-drop launcher window with one-tap
Fast,Optimal, andBest qualitypresets and live progress tracking. - Settings & Theme Customizer (
Ctrl+,): Full customization window with Light, Dark, and Neon palettes, custom gradient stops, background patterns, and adjustable card/button corner rounding. - Intel QSV hardware encoding: Added
h264_qsv,hevc_qsv, andav1_qsvalongside NVIDIA NVENC, AMD AMF, and CPU encoders. - Post-conversion power actions: Option to do nothing, close the app, put the PC to sleep, or shut down after the queue finishes, plus toggles to keep the PC and display awake during conversion.
- SHA-256 verified portable tools: Added
StableandLatestdownload channels for portable FFmpeg and HandBrakeCLI with automatic SHA-256 checksum verification. - 31 interface languages: Bundled complete localization files in
i18n/.
Changed
- Modular
hdr2sdr/package architecture: Split the monolithichdr_to_sdr_gui_qt.pyscript intohdr2sdr/{core,runtime,i18n,theme,ui}with a pure-Pythoncore/layer and an automatedpytesttest suite, while keepingpython hdr_to_sdr_gui_qt.pyandpython -m hdr2sdrentry points compatible. - Matroska (
MKV) subtitle handling: Automatically converts MP4mov_texttimed-text subtitle streams toSRT(-c:s:N srt) when outputting to.mkv, while copying all other subtitle and audio streams untouched. - Empty-state UI & Live Preview:
Source analysisandLive previewpanels remain permanently visible with stable heights; added an interactive timeline frame strip under Live Preview.
Fixed
- SVT-AV1 Bitrate mode: Removed unsupported
-maxrateand-bufsizeflags when buildinglibsvtav1bitrate commands. - 10-bit HDR Auto-crop: Added
format=yuv420pbeforecropdetect=24:2:0so black bars are accurately detected on 10-bit HDR sources. - HandBrakeCLI 10-bit H.264 & multi-pass: Updated
--two-passto--multi-passand set--encoder-profile high10forx264_10bit. - Test clip & resume audio/video sync: Placed
-ss 0after-ito reset stream-copied audio/subtitle timestamps on 5-second test clips and resumed segments. - NVENC preflight check: Increased the synthetic probe frame size from
128x128to256x256to avoid false NVENC minimum-dimension rejections. - GPU fallback state reset: Cleared
libplacebofallback flags when starting a new conversion or changing the tone-mapping curve manually.
HDR-to-SDR-Video-Converter
v2.2 — Changes
Fixed
- Audio dropped when switching tracks mid-playback on multi-audio/subtitle HDR/DV files (VLC/MPC) — fixed interleaving of copied streams
- FFmpeg portable installer no longer misses libplacebo/Vulkan (switched source, GPU tonemap curves now actually work)
- Orphaned conversion-history dialog reconnected (right-click on Output button)
- Tone-mapping tooltips and ~20 other hardcoded UI strings now properly localized (previously always English regardless of language setting)
- fix(i18n): wire tone-mapping tooltip descriptions (TONEMAP_INFO) through the translator — previously always shown in English regardless of interface language
- fix(i18n): sync tonemap_info_* strings in en.json with current source text (drift had silently broken existing translations)
- fix(i18n): add missing tonemap_info_spline translation key
- fix(i18n): translate ~20 other hardcoded tooltips (queue list, output/history button, analyze, preview expand/save, test clip controls, container MKV/MP4, install/update button, tray icon, dark/light mode)
- fix(i18n): dynamic test-clip button tooltips (render/cancel/ready states) now translate correctly instead of resetting to English at runtime
- feat(i18n): add translations for all newly wired tooltip strings (other languages fall back to English until translated)
Added
- Intel QuickSync (QSV) hardware encoding support (FFmpeg + HandBrakeCLI)
- HDR metadata panel (MaxCLL/MaxFALL, mastering display range, Dolby Vision profile, HDR10+ detection)
- Cross-platform completion notifications (system tray)
- "Check for updates" button — checks app + FFmpeg + HandBrakeCLI, offers to update either/both
- Spline tonemap curve
- Configurable test-clip duration, now includes all audio/subtitle tracks
- Russian translations for new tooltip strings
Changed
- Merged "Output"/"Open output folder"/"History" buttons into one
- Renamed GPU tonemap curve labels (details moved to tooltips)
- Activity log no longer auto-opens on conversion start
HDR-to-SDR-Video-Converter
- UI update
- Package conversion
- Saturation Trim
- MP4, MKV container
- else