2024年の振り返り

PC関連はすでに振り返ったので、それ以外の振り返り。

x264guiEx / x265guiEx / svtAV1guiEx / ffmpegOut



地味に6時間を超えるwav出力対応に対応した。そのほか不具合修正とかプリセット追加とか。



QSVEnc高速化



hwデコードしない場合(AmatsukazeやAviutlから使う場合)の高速化をしたり、エンコード中勝手にアイドルに入って遅くなる問題を無理くり解消したりした。

QSVはこれまでGPUの一部みたいな扱いだったけど、dGPUの場合はともかく、iGPUの場合はGPUというよりSoCの一部みたいな扱いになっていっていて、こうした場合での動作は若干気になるところ。



QSVEnc / NVEnc / VCEEnc フィルタ追加



- --vpp-libplacebo-deband
- --vpp-libplacebo-tonemapping
- --vpp-libplacebo-shader
- --vpp-libplacebo-resize
- --vpp-fft3d
- --vpp-nlmeans
- --vpp-denoise-dct
- --vpp-decomb

今年はフィルタをたくさん実装したけど、最初の4つはlibplaceboライブラリの組み込みで、CUDA/OpenCL⇔DirectX連携のあたりがややこしい一方で、フィルタそのものは呼び出すだけなので、手間はかかるものの実装しやすかった。

残りの4つのfft3d, nlmeans, denoise-dct, decombは自作。この4つは十分にシンプルなアルゴリズムで、特にfft、nlmean、dctなどは数式で表されるシンプルなアルゴリズムなので、GPUでの高速化に関してかなり注意する必要があるとはいえ、なんとか現実的な時間で実装できた。

複雑なフィルタの実装依頼をいただくこともあるけど、そもそもフィルタ類のアルゴリズムに詳しくないのものあって、アルゴリズムが複雑だと理解→実装→検証にあまりに時間がかかりすぎ、実装困難となってしまう。(1か月以上動くものができないと実装のモチベを維持できない…)



Amatsukaze 改造版




BS4K対応
BS4Kをエンコードする需要は本当にあるのかという疑問はあるけど、とりあえず対応。

HEVC読み込みを追加拡張しているけど、なるべくffmpegのライブラリ(libavcodec/libavformat)の機能を活用して、MPEG2/H.264の処理と比べて実装は大幅に簡素化してある。

4K HEVC 10bitはエンコードだけでなく、デコードも(CPUでもGPUでも)重いので、ロゴ解析やCM解析も重いというのが難点になってしまっている。

KFMフィルター高速化
いろいろ分析してみたけど、一番重いkl_search(動き探索)とかはなにをしているのかさっぱりわからなかったので、「実装上同じ処理を高速に行うこと」に焦点をあてて高速化してみた。GPUによってはエンコードが高速なら多少高速化できたかも。

ただ、高速なGPUでしか恩恵がなさそうなのが難点。とにかくKFMは複雑なので、全貌をつかむのはかなりハードル高い気がする。

そのほか、CM解析/ロゴ解析まわりの調整や不具合対応等もやったけど、コードの理解等まだまだ難しい感じ。



tsreplace



それほど大きな更新なないけど、データ放送削除対応とかを行った。



clcufilters



OpenCL/CUDA統合版のAviutl向けGPUフィルタを作った

フィルタ処理を別プロセスに分離して64bit対応 & OpenCL/CUDA両対応にして、さまざまな機能がフルに使えるような基礎を作った。が、その後あまりフィルタ追加ができていないかも。

あと結局かなり重いのをなんとかしたいところ…。



最近の各クールのアニメの本数、特に多くない?



昔から多かったが、最近本当に多い気がする(気のせい?)。見るのを減らしてもそれでも多いぐらい。

嬉しいといえば嬉しいことだけど、ほかのことをする時間は減りそう…



来年やりたいこと



NVEnc改修
QSVEnc/VCEEncに導入した柔軟性の高い処理方法をNVEncにも導入したい。

去年も言ってたやつ。結局できていない。

録画PC更新
現行の録画PC、i5 7500なのでWin11に移行できずWin10のサポート切れが迫る…ということで更新が必要。

ArrowLakeの下位(Core Ultra 3)とかが出るとよいのだが、RaptorLake Refreshとかでごまかされないことを祈る…。

手を広げすぎたかも…
去年も言ってたけども。

github issuesは申し訳ないけどすべて追えてなくて、特に特定の入力ファイルに依存した再現困難なエラーとか、どうにもならないかも…。あとHDR関連はHDRモニタをそもそも持っていないので、最終的にどうなっているのかよくわからんという問題があるので、HDRモニタ買ってみるのもありかも。

ただ、最近のモニタはいろんな種類があって迷ってしまう。(QD/MLA-OLED, (A)HVA, Mini LED…、もうなにがなにやら…)



今年もコメントありがとうございました



というわけで今年もいろいろコメント等いただきありがとうございました。

結局よくわからなかったり、手が回らなかったりした場合もあって、申し訳ないですが…、来年もいろいろできる範囲でやっていきたいです。

それではよいお年を。

コメントの投稿

非公開コメント

モニター

>ただ、最近のモニタはいろんな種類があって迷ってしまう。
現状ではMini LED一択ですね。
VAはどんなに変わってもVAでしかないし、OLEDは焼き付きを解消出来ない。
実際ブラックフライデーの時にBenQ MOBIUZ EX321UX(現状まともなメーカーではこれ一択)が飛ぶように売れてた。

Re: モニター

やっぱりMiniLED全盛なんでしょうか。

ローカルディミングのMiniLEDは人によっては輝度調整のちらつきが気になるというコメントをそれなりにみかけるのが若干気になってしまっていますね。映像やゲーム向けでは問題にならないとは思いますが、テキスト編集等で問題にならないのかとか。

MOBIUZ EX321UXはよさそうですが、まだまだあのクラスは高いですねえ。
プロフィール

rigaya

Author:rigaya
アニメとか見たり、エンコードしたり。
連絡先: [email protected]
github twitter

最新記事
最新コメント
カテゴリ
月別アーカイブ
カウンター
検索フォーム
いろいろ
公開中のAviutlプラグインとかのダウンロード

○Aviutl 出力プラグイン
x264guiEx 3.xx
- x264を使用したH264出力
- x264guiExの導入紹介動画>
- x264guiExの導入
- x264guiExのエラーと対処方法>
- x264.exeはこちら&gt

x265guiEx
- x265を使用したH.265/HEVC出力
- x265guiExの導入>
- x265.exeはこちら&gt

QSVEnc + QSVEncC
- QuickSyncVideoによるHWエンコード
- QSVEnc 導入/使用方法&gt
- QSVEncCオプション一覧&gt

NVEnc + NVEncC
- NVIDIAのNVEncによるHWエンコード
- NVEnc 導入/使用方法&gt
- NVEncCオプション一覧&gt

VCEEnc + VCEEncC
- AMDのVCE/VCNによるHWエンコード
- VCEEnc 導入/使用方法&gt
- VCEEncCオプション一覧&gt

svtAV1guiEx
- SVT-AV1によるAV1出力
- svtAV1guiExの導入>
- SVT-AV1単体はこちら&gt

VVenCguiEx
- VVenCによるVVC出力
- VVenCguiExの導入>

ffmpegOut
- ffmpegを使用した出力
- ffmpegOutの導入>


○Aviutl フィルタプラグイン
自動フィールドシフト
- SSE2~AVX512による高速化版
- オリジナル: aji様

clcufilters 
- OpenCL/CUDAのGPUフィルタ集
- 対応フィルタの一覧等はこちら

エッジレベル調整MT
- エッジレベル調整の並列化/高速化
- SSE2~AVX512対応
- オリジナル: まじぽか太郎様

バンディング低減MT
- SSE2~AVX512による高速化版
- オリジナル: まじぽか太郎様

PMD_MT
- SSE2~AVX512による高速化版
- オリジナル: スレ48≫989氏

透過性ロゴ (ミラー)
- SSE2~FMA3によるSIMD版
- オリジナル: MakKi氏

AviutlColor
- BT.2020nc向け色変換プラグイン
- BT.709/BT.601向けも同梱

○その他
Amatsukaze改造版
- AmatsukazeのAV1対応版

tsreplace
- tsの映像のみを置き換えて圧縮

rkmppenc
- Rockchip系SoCのhwエンコーダ

fawutil
- FAW(FakeAACWave)⇔aac変換
- 二重音声の取り扱いにも対応

x264afs (ミラー)
- x264のafs対応版

aui_indexer (使い方>)
- lsmashinput.aui/m2v.auiの
 インデックス事前・一括生成

auc_export (ミラー使い方>)
- Aviutl Controlの
 エクスポートプラグイン版
 エクスポートをコマンドから

aup_reseter
- aupプロジェクトファイルの
 終了フラグを一括リセット

CheckBitrate (使い方)
- ビットレート分布の分析(HEVC対応)

チャプター変換 (使い方>)
- nero/appleチャプター形式変換

エッジレベル調整 (avisynth)
- Avisynth用エッジレベル調整

メモリ・キャッシュ速度測定
- スレッド数を変えて測定
- これまでの測定結果はこちら

○ビルドしたものとか
L-SMASH (ミラー)
x264 (ミラー)
x265 (ミラー)
SVT-AV1 (ミラー)

○その他
サンプル動画
その他

○読みもの (ミラー)
Aviutl/x264guiExの色変換
動画関連ダウンロードリンク集
簡易インストーラの概要

○更新停止・公開終了
改造版x264gui
x264guiEx 0.xx
RSSリンクの表示
リンク
QRコード
QR