Skip to content

Releases

YMM4 Radeon (AMF) v0.2.2

Choose a tag to compare

@github-actions github-actions released this 04 Oct 22:49

YMM4 Radeon (AMF) v0.2.2

Disnana Project / 開発: tp-li-dev

MP4に記録する音声トラックの長さ情報を修正しました。旧版では、音声データが動画の最後まで残っていても、再生・変換するアプリによって後半の音声が短く扱われる可能性があります。通常設定・実験設定に共通するMP4出力処理の修正です。

48 kHz音声では、4分の音声が一部の長さ情報では2分08秒相当になっていました。v0.2.2では、その情報を正しい時間単位で記録します。音声の圧縮方式・音量、映像の画質・ビットレート、推奨設定は変更していません。

今回の報告ではWindows上で正常に音声を再生でき、FFmpegでも最後まで復号できました。音声データ自体は残っていたため、従来の再生確認・音声長検査ではヘッダーの不整合を見つけられず、発見が遅れる要因になりました。今回、データの長さとヘッダーの長さを照合する検査を追加しています。

確認した範囲

  • 報告された約5分28秒のMP4で、AAC音声は最後まで復号できる一方、音声トラックのヘッダーが約2分55秒相当になっていることを確認しました。
  • 32 / 44.1 / 48 kHz音声と4分の動画を使った回帰検査を追加しました。既存の全デコード・音声長検査に、MP4ヘッダーの時間単位の検査も追加しています。
  • 修正ビルドでH.264 / HEVCの出力と、4分のHEVC非同期出力を検査しました。全フレームの復号・順序、色メタデータ、音声の長さ、MP4ヘッダーの整合を確認しています。
  • LINE経由でiPhoneへ送った出力に音声欠落の報告があります。長さ情報の誤りは確認済みですが、修正版を同じ送信・再生手順で確認する端末試験は未完了です。

更新方法

プロジェクトを保存してYMM4を終了し、AssetsのYMM4-Radeon-AMF-v0.2.2.ymmeを開いて更新してください。手動更新ではAMFPlugin.dllとAmfNative.dllを同じパッケージからセットで更新します。

修正はこれから書き出すMP4へ適用されます。旧版で書き出した動画は、v0.2.2で再出力してください。

YMM4 Radeon (AMF) v0.2.1

Choose a tag to compare

@github-actions github-actions released this 26 Sep 10:27

YMM4 Radeon (AMF) v0.2.1

Disnana Project / 開発: tp-li-dev

動画出力の推奨設定を更新しました。所有テクスチャプールを8枚にし、出力回収の待機最適化を既定で有効にしています。出力設定の「推奨設定」ボタンでこの組み合わせに戻せます。「比較用の従来設定」ボタンでは、従来の6枚・待機最適化OFFに切り替えられます。どちらのボタンもコーデック、画質、ビットレート、診断設定は変えません。変更は次の書き出しから適用されます。

RX 6800 XTでの隔離試験では、1080p・H.264・900フレームの出力を同じ条件で各4回比較し、最終化まで含む中央値が358.20 fpsから406.16 fpsになりました。比較した映像と音声を復号したデータは一致しました。描画済みフレームを使う試験の結果であり、YMM4の実プロジェクトや別のGPUでも同じ改善を得られるとは限りません。

通常は既定の「標準」画質を推奨します。高品質設定は処理時間が増えるため、必要な場合に出力結果を比較して選んでください。

更新方法

  1. プロジェクトを保存し、YMM4を終了します。
  2. AssetsのYMM4-Radeon-AMF-v0.2.1.ymmeを開いてインストールします。
  3. YMM4を再起動し、短い区間を別名で出力します。冒頭と末尾の映像・音声を再生して確認してください。

手動更新する場合はAMFPlugin.dllとAmfNative.dllを同じパッケージからセットで更新してください。設定の永続保存は未実装のため、YMM4再起動後は既定の推奨設定に戻ります。

YMM4 Radeon (AMF) v0.2.0

Choose a tag to compare

@github-actions github-actions released this 17 Sep 13:09

YMM4 Radeon (AMF) v0.2.0

Disnana Project / 開発: tp-li-dev

動画出力の診断機能と、実験的なGPU入力経路の切り替えを追加しました。いずれも既定OFFです。エンコード方式・品質・所有テクスチャプールの既定動作は維持しています。速度向上を保証するリリースではありません。

追加した機能

  • GPU直渡し(実験・IVideoFileWriter3):AMFの出力設定からON/OFFできます。YMM4側のCpuReadビットマップへの中間コピーを省く経路です。AMFの所有テクスチャへのGPUコピーは残るため、完全Zero Copyではありません。Harmonyや別ツールは不要です。
  • プロファイリング結果を書き出す(集計JSON):映像・音声の受け取り、ロック、pool待ち、SubmitInput、QueryOutput、Mux、終了処理の回数・合計・平均・最大時間を出力名.amf_profile.jsonへ保存します。デバッグログとは独立しています。
  • 計測専用:映像・音声を破棄:受け取った映像・音声をプラグインで処理せず返し、MP4を生成しません。プロファイリングと組み合わせ、出力側と上流側を切り分けるための診断モードです。GPU直渡しOFFでは、YMM4側の入力前コピーは残ります。
  • 設定は出力開始時に固定されます。実行中にチェックを変えても進行中の出力は切り替わりません。

動作条件・更新手順

IVideoFileWriter3を持つ.NET 10対応YMM4が必要です。API・ローカルテストと実プロジェクトログはYMM4 v4.56.1.1で確認しています。古いAPIのYMM4では、GPU直渡しをOFFにしてもプラグインを読み込めません。

  1. 制作プロジェクトを保存してYMM4を終了します。
  2. AssetsのYMM4-Radeon-AMF-v0.2.0.ymmeを開いてインストールします。
  3. YMM4を再起動し、まず追加チェックをすべてOFFにして短い区間を別名で出力・再生確認します。

手動更新ではAMFPlugin.dllとAmfNative.dllを必ずセットで更新してください。YMM4本体のDLLは配布物に含めません。SHA-256ファイルを添付します。

確認した範囲

  • ローカルCPU側の43チェック:ABI、集計、破棄時native呼び出し禁止、UI、入力経路、設定スナップショットなど。
  • RX 6800 XTで、管理WriterのH.264/HEVC × GPU直渡しOFF/ON × profile OFF/ONの8ケース、既存nativeベンチ4ケース。
  • 各ケース640×360・60fps・120フレーム、AAC付き。全デコード・フレーム数と順序・BT.709 limitedメタデータ・映像/音声duration差の検査を通過。
  • 実プロジェクトのH.264ログで、GPU直渡しOFF/ONとも7,259フレームの投入・完了・最終化を確認。OFF約39.88秒、ON約41.30秒の各1回で、GPU直渡しによる高速化は確認できていません。設定・素材・GPUにより結果は変わります。

ローカル実GPUテスト、GitHub ActionsのCPUテスト、YMM4実プロジェクトログは別の検証です。音声はduration、色はメタデータの検査で、厳密な音ズレ・画素値・画質評価ではありません。

制限

  • 計測はCPU側の経過時間です。GPU実行時間、フレーム別時系列、p50/p95/p99、AMF内部キュー深さ、GPU使用率、GC pauseはこの版では記録しません。
  • 入れ子・並列処理の集計値は重なります。待機時間を合計して短縮余地と解釈しないでください。
  • 長時間反復、キャンセル、device removal、HEVCのYMM4実プロジェクト、複数GPU/ドライバーの網羅検証は未完了です。
  • 診断時は新しい出力名を使ってください。破棄モードは既存MP4を更新せず、同名profile JSONは最新結果で置き換えます。設定の永続保存はありません。
  • 動画出力プラグインのみのリリースです。観測用PoC、MF解析、新しい圧縮/待機オプションは含みません。

利用手順 / プロファイリングガイド

YMM4 Radeon (AMF) v0.1.1

Choose a tag to compare

@github-actions github-actions released this 14 Sep 12:29

YMM4 Radeon (AMF) v0.1.1

Disnana Project / 開発: tp-li-dev

実機で動作確認したAMF出力経路(P1)を採用した更新です。H.264 / HEVCとAAC音声に対応し、実験用のVideoProcessor経路(P2)は含みません。

v0.1.0からの変更

  • 実測結果に基づき、新規設定の所有テクスチャプールを4枚から6枚へ変更しました。4 / 6 / 8枚の選択は維持しています。
  • 出力検証に全デコード、フレーム数・順序、BT.709 limitedのメタデータ、映像と音声の長さの比較を追加しました。
  • 終了処理の「Video codec header not found」で、それ以前のエラー内容を上書きしないようにしました。
  • 管理プラグインのビルド後に、管理DLLとネイティブDLLをartifacts/binへ自動配置します。
  • P2は速度向上を確認できなかったため廃止し、比較結果を開発資料に残しました。

確認した範囲

RX 6800 XTでH.264 / HEVC各120フレームとAAC音声の出力、全デコード、フレーム順序、色メタデータの検証に成功しています。YMM4の実プロジェクトではH.264出力と再生を確認済みです。HEVCのYMM4実プロジェクト、長時間反復、キャンセル、複数GPUでの検証は今後の課題です。

インストール・更新

YMM4を終了し、添付のYMM4-Radeon-AMF-v0.1.1.ymmeを開いてインストールしてください。手動更新の場合はAMFPlugin.dllとAmfNative.dllを必ずセットで更新してください。P2試用版からの更新では、実験機能のチェックボックスがなくなります。

配布物の検証用にSHA-256ファイルも添付しています。YMM4本体のDLLは配布物に含めていません。

YMM4 Radeon (AMF) v0.1.0

Choose a tag to compare

@github-actions github-actions released this 14 Sep 09:25