SlimeCodec Convert — CHANGELOG
===============================

v0.2.0 (2026-04-14)
--------------------
  [NEW] Windows GUI application (slimecodec-gui.exe)
        - File browser for input/output selection
        - Codec, CRF, strength, keyframe sliders
        - Real-time progress bar during encoding
  [NEW] Keyframe interval control (--keyint)
        - Specify in seconds (e.g. --keyint 2 for HLS)
        - Forces strict keyframe placement (scenecut=0)
        - Works with both H.264 and AV1
  [NEW] Audio passthrough (-c:a copy equivalent)
        - All audio streams are copied without re-encoding
  [FIX] Duration mismatch between input and output
        - Original PTS preserved from input stream
        - Output time_base matches input exactly
        - Packet duration set for correct container metadata
  [CHANGE] Project restructured to lib + bin architecture
        - Shared library (pipeline, normmap, video, qp)
        - Separate CLI and GUI binaries
        - ProgressReporter trait for extensible progress reporting

v0.1.0 (2026-04-14)
--------------------
  [NEW] Initial release
  [NEW] NormMAP commutator norm analysis (8x8 blocks)
  [NEW] ROI QP control via FFmpeg side data
        - Per-macroblock QP offset based on d-values
        - 8x8 NormMAP -> 16x16 macroblock aggregation
  [NEW] H.264 (libx264) and AV1 (libaom) support
  [NEW] Static Linux build (FFmpeg + x264 built in, 26 MB)
  [NEW] Windows build (FFmpeg 7.1 DLLs bundled)
  [NEW] .normmap sidecar export (3 compression modes)
  [RESULT] basketball_shoot.mp4 1080p test:
           CRF 23: 2.7 MB -> 1.4 MB (-48% bitrate)
