# GPL版機能拡張

Karuiyaの標準構成は`program/ffmpeg-lgpl`のLGPL版FFmpegだけを使用します。
バージョン0.9.3.1ではGPL版機能拡張の提供を延期しており、導入操作、通信、
GPL版FFmpegバイナリを含みません。

将来GPL版機能拡張を提供する場合は、利用者が「GPL版機能拡張を追加する」を明示的に
選んだ場合だけ、Karuiyaが管理する
HTTPS配布元から署名済みマニフェストを取得し、署名、バージョン、SHA-256、展開内容、
有効期間、単調増加sequence、FFmpegの実機能を検証します。古いsequenceへのrollbackを
拒否し、すべての検証に成功した版だけを
`program/ffmpeg-gpl`へ配置します。LGPL版へ上書きしません。

将来の拡張対象は、CPU H.264書き出し（libx264）、CPU HEVC書き出し（libx265）と
4点変形です。
カラー調整と背景ぼかしは標準LGPL版と同じ`lutyuv`／`colorchannelmixer`／`gblur`を
GPL engineでも使用します。同じGPL engine上のハードウェアH.264も実測してから選択します。
GPL拡張を削除してもプロジェクト内の
設定値は保持されますが、GPL専用機能を使用した動画は再導入まで書き出せません。
該当処理を黙って省略することはありません。

GPL版FFmpegと組み込まれたライブラリのライセンス、正確な対応ソース、ビルド情報は、
導入画面と`licenses/FFmpeg-GPL`から確認できる構成にします。GPL版FFmpegは独立した
外部プロセスであり、Karuiya本体やQtのDLLとしてロードしません。

0.9.3.1の`gpl_extension_config.json`は`deferred-disabled`に固定しています。URL、公開鍵、
許可hostは意図的に空で、導入処理は通信を開始しません。公開検査はこの無効状態と、
GPLバイナリおよび導入モジュールが配布物に存在しないことを要求します。
