C1900に悩み5時間

興味本位で行ったことが大事故に。
Visual Studio 2017 Communityをダウンロードし、インストールしてみました。
自作の簡易プレイヤをBuildしたところ、各libが古いと言われたので仕方なくすべてのlibファイルを再Build。
無事exeが出来上がったので、実行。
mp3、flacの再生に異常なし。
これはいけるかなと思ったらoggファイルが再生できない。(強制終了する)
ソース同じだしなんだろうとデバッグモードで実行。
再生出来た・・・。
わかんねー。
リリースビルドでデバッグ情報つけて動作させてみたところ、変数の値が途中からおかしくなっていることが発覚。
メモリ違反によりおちていることがわかった。
しかし、解決策が全く分からない。
ogg関連のlibに問題があるのか、ソースに問題があるのか、VC2017自体に問題があるのか。
仕方なくVS2017をアンインストール。
VS2015でビルドし直したところ、C1900のエラーがでた。
恐らくVS2017の残骸だと思い、2時間半くらい掛けて、VS2015を修復。
苦労したで・・・。

同じソースで作ってなぜ2015で動いて2017で動かないのか。

とりあえずVS2017は少し様子見。

動画エンコード

現在自前エンコしているものは、名探偵コナン、プリキュア、ワンピースの3本になりますが、
aviutl + x264guiex + x264 10bit x64でエンコしてます。
2passなので少々時間が掛かるのが難点ですね。
で、高速化できないものかとNVENCにて変換してみました。
(aviutl + nvenc)
確かに高速で1passで済むためエンコ時間は滅茶苦茶短くなりました。
が、やはりソフトウェアエンコードのx264の方が綺麗でした。
比較用にNVENCでのはx265 10bitで作ったのですが、ハードウェアエンコードの方が画質は落ちました。
x264.exeと同等の画質でNVENC並の速度が出れば最高なんですけどねー。
NVENCではx264の10bitに対応していないため色むらが気になるかもしれないです(x264では試していない)。
とりあえず見られればいいや的なものならNVENCでもいいかもです。
保存用に高画質化する場合は今のままだと向かないかも。
CUDAももうちょっと頑張って欲しいものですね。

比較参考サイト
http://rigaya34589.blog135.fc2.com/blog-entry-571.html