以前書いた記事で intrinsic の欠点をいくつか述べていますが、このうちコンパイラが古いと最近の命令を使えない、という重大な点については、Visual C++ 2015 や Xcode 7 に移行することにより既に解決してしまいました。将来的にも、OSS開発 and/or 個人開発 であれば Visual C++ も無料で Pro 版相当の機能のものが使えるようになってしまいましたし(新しいコンパイラを追いかけるのに費用が掛からない)。

一部の命令が無い点については解決されうるものではなさそうですが、そういうところは相変わらずアセンブラで書いておけば良いかと思います。Ut Video Codec Suite 的に一番重要なハフマン符号処理がこれなのがちょっと残念ですが。

なんで今更こんなこと言っているかと言うと、いい加減「ほとんど同じかと思いきやちょっと違う2つのアセンブラソース (x86/x64) をメンテする」のはもういやだ、と思ったからです。思うのが遅いという話はあります。

Intel IPP (Integrated Performance Primitives) という、画像処理、信号処理、データ処理(圧縮・暗号化)において良くある処理を収録した Intel 製のライブラリがあります。Intel 製なので、Intel CPU に対して特に最適化されているはずです。(AMD CPU についてはどの程度かはよく分からない)。IPP はコミュニティサポートでいいのであれば最近はロイヤリティフリーで使えるため、IPP を UtVideo で使ってみようかと考えました。

Read the rest of this entry

機能追加
  • 内部保持形式が YUV444 8bit のコーデック (FourCC: ULY4, ULH4) を追加した。RGB 入出力の場合はあまり速くない。

Read the rest of this entry

2016年08月にいただいた寄付は以下の2件です。ありがとうございました。

日付 お名前 金額
08/11 高橋 健一 500円
08/12 Suzuki Ryoma 1,000円

なお、2016年07月には寄付はありませんでした。

「戦艦」「重巡洋艦」「重巡」「軽巡洋艦」「軽巡」「駆逐艦」「航空母艦」「空母」「揚陸艦」「改二丁」「ウォースパイト」「Warspite」「アクィラ」「Aquila」「水無月」「ニム」「伊26」「夏姫」を追加しました。

ダウンロードはこちら / readme

「アクィラ」「Aquila」の読みは「あくぃら」「あくいら」の両方を収録しています。「夏姫」のよみは「なつひめ」だけです。(「かき」や「なつき」を収録すると通常の漢字変換に支障が出ると思ったので)

FFmpeg を CI 環境の Windows 上で(Visual C++ 向けに)ビルドしようと思って msys の最新版を取ってきたんですが、configure した後に make -j4 とやってもビルドが始まりません。CPU を1個分使って暴走しているように見えます。しかも Ctrl+C も効かないのでタスクマネージャで殺すしかありません。

Read the rest of this entry

Windows Defender が Ut Video Codec Suite のインストーラをマルウェア扱いしてブロックするようです。Microsoft Security Essentials はブロックしないようです。他のウイルス対策ソフトも反応しないようです(VirusTotal調べ)。

Read the rest of this entry

今のところ、ユニットテストは映像の内容そのものではなく、せいぜいフォーマットのネゴシエーションぐらいまでしか行っていないのですが、いい加減エンコード/デコードそのもののテストに取り掛からないといけないと感じています。

Read the rest of this entry

ようやく(?)Boost 1.61.0 をいじってるのですが、dataset の join (足し算)がロクに動かないことに気が付きました。

Read the rest of this entry

2016年06月にいただいた寄付は以下の1件です。ありがとうございました。

日付 お名前 方法 金額
06/14 Melvyn Davis PayPal $5.00

なお、2015年07月から2016年05月には寄付はありませんでした。