「AVX-SSE 切り替えペナルティー」を回避する?過去の妄想?TVTestでAVX有り無し最適化でどう変化するのか試してみた。

AVX-SSE 切り替えペナルティーを気にする人は多くても調べた報告が見つからないポンコツなので自分で試してみた。
またやってるよこのおっさんって感じですが・゚・(ノД`)・゚・

i7-3770T環境で動かなかったビルド品が「インテル® Software Development Emulator」(SDE)の上では動くんですよ(爆笑)
デバッグにならんね。エラー起きないんだもの。エミュレータかますとどのオプションでも全部動くってどうなのそれ(^◇^;

・オプション変えても結果が変わらないというつまらない落ちでした。

◆ TVTest(AVX,_inline展開のみ,最大速度最適化),zlib(最大速度最適化,展開できる関数すべて,拡張命令指定なし)のビルド。
チューナー指定してTV見てるだけなら「AVX-SSE 切り替え」のペナルティーは発生していないようなので、AVXと拡張命令指定なし混在ビルドもありってことですね。
ライブラリ単位というか、大雑把な話ですが、好きなようにビルドして動けばOKってことで。

バイナリコードを見つけるんじゃなく、動作中に使用したかどうかを見るだけなので。
今回は出なかったという感じ。

# ===================================================
# AVX/SSE transition checker
#
# ‘Penalty in Block’ provides the address (rIP) of the code basic block with
# the penaties.
#
# ‘Dynamic AVX to SSE Transition’ counts the number of potentially
# costly AVX-to-SSE sequences
#
# ‘Dynamic SSE to AVX Transition’ counts the number of potentially
# costly SSE-to-AVX sequences
#
# ‘Static Icount’ is the static number instructions in the block
#
# ‘Executions’ is the dynamic number of times the block was executed
#
# ‘Dynamic Icount’ is the product of the static icount and executions columns
#
# ‘Previous Block’ is an attempt to find the previous control flow block
#
# ‘State Change Block’ is an attempt to find the block that put the
# state machine in a state that conflicted with this block, causing a
# transition in this block
#
# ===================================================
Penalty Dynamic Dynamic State
in AVX to SSE SSE to AVX Static Dynamic Previous Change
Block Transition Transition Icount Executions Icount Block Block
================ ============ ============ ======== ========== ======== ================ ================
# SUMMARY
# AVX_to_SSE_transition_instances: 0
# SSE_to_AVX_transition_instances: 0
# Dynamic_insts: 22547791372
# AVX_to_SSE_instances/instruction: 0.0000
# SSE_to_AVX_instances/instruction: 0.0000
# AVX_to_SSE_instances/100instructions: 0.0000
# SSE_to_AVX_instances/100instructions: 0.0000

# AVX_to_SSE_transition_instances:
# SSE_to_AVX_transition_instances:
この2つの値の変化が見れると思ったんですけどね…
コンパイラの最適化最適化が優秀すぎて表に出にくい感じ?過去の妄想?

2019.04.21 今日のメンテナンス「xtne6f/EDCB」アップデート。VisualStudio2019(vs2019)も.NET4.8安定動作中?。rigaya氏の x265(3.0_Au+21) とQSV3.19 も。mkvmergeのBugfixも続く。

うちのEDCB環境+の更新メモ。今週は多いなぁ(^◇^;

録画の切れ間で、
サービス停止→
常駐終了→
旧環境バックアップ作成→
ファイル更新→
サービス開始→
PC終了→
埃掃除→
録画開始時間前に起動→
EPG取得→
重複チェック→
新環境バックアップ作成。

今日のルーティンワーク終了(^◇^;

◆ rigaya氏の x265(3.0_Au+21) とQSV3.19 もAmatsukazeに。アップデート。
rigayaの日記兼メモ帳
https://rigaya34589.blog.fc2.com/

◆ MATROSKA
MKVToolNix Windows portable (64-bit)
https://www.fosshub.com/MKVToolNix.html

微妙。mkvmergeのバグフィックスも続いているので…^^;
過去のログ見るのが大変だ。

MKVToolNix – Matroska tools for Linux/Unix and Windows
https://mkvtoolnix.download/

Downloads for Windows
https://www.matroska.org/downloads/windows.html

◆ Googleさんから検索

重いよ…
再度キャラクタのボタン押すと一杯降ってきます。
マウスを動かすとキャラクタが拡大されて回りが動きます(^◇^;

◆ ソースとバイナリの取得
xtne6f/EDCB
https://github.com/xtne6f/EDCB

・ソースは、[Clone or Download] からダウンロードで EDCB-work-plus-s.zip 。俺は使いこなすから絶対文句は言わねぇって人はCloneで(^◇^;
・バイナリは[Releases]から EDCB-work-plus-s-bin.zip を。

バイナリ展開して、ビルドしたものを上書き、前の環境のバックアップ取って、上書き、PC再起動。
基本ですな。

◆ うちの環境は Microsoft .NET Framework 4.8 です。
ちと早いとは思いますが、来月には Windows10 May 2019で導入されていると思いますし、早漏は君だけじゃないよっていう意思表示を…
4.5→4.8で問題になるのはWindows10以外だとおもいますし。4.8のバグがあるなら、クリーンインストール前にあぶりだしたいという感じ。

◆ VisualStudio2019でビルド。暇でモアベターな感じじゃね?っていうオプション見つけたら、好みでオプションを変えて人柱ビルド。動かないのは自己責任泣かないで。

◆ EDCB環境を配布バイナリから上書きで作る。(ビルドしないファイルも追加されてたり更新されてたりするので…手抜き?保険?)

64bit環境の構築その1(x64上書き)


64bit環境の構築その2(ビルドしたファイルの準備)


64bit環境の構築その3(ビルドしたファイルの移動上書き)


64bit環境の構築その4(プラグインを移動上書き)

◆ EDCBの録画完了を待つ間にテキストファイルの目を通しておく。
README.md
History.txt
HowToBuild.txt
Readme.txt
Readme_EpgDataCap_Bon.txt
Readme_EpgTimer.txt
Readme_Mod.txt

( ゚o゚)vs2015でビルドしていらっしゃる(;^_^A アセアセ・・・
vs2019対応お疲れ様です(^◇^;


おかしいと思ったらVS2015でビルドするってことで。

未開の地の地雷原を突っ走るタイプの人は報告をこまめに出していきましょい’`,、(´▽`) ‘`,、

◆ バックアップ取って上書きと動作確認。
録画の切れ間で、サービス停止→常駐終了→旧環境バックアップ作成→ファイル更新→サービス開始→PC終了→埃掃除→録画開始時間前に起動→EPG取得→重複チェック→新環境バックアップ作成。

・EPG取得確認。
・手動録画確認
・5分ニュースでいいのでタイマー録画確認。

おかしかったら戻す!(笑)

◆ 動作確認終わったら EdcbPlugin の中身をTVTestの plugins へ移動する。
Write*.dllの配置を行う。EdcbPlugin の中の説明を読めば面倒なことは何もない。
これが何の作業かわからない人はプラグインはそのままで使わなくてもよいのではないでしょうか。
・EDCB→(UDP/TCP)→TVTestで見てる人には特にやらなくても問題ない。
・TVTestでチューナー設定してみてる人は、チューナーの競合が起こらないように勉強していると思うのでプラグインの意味も使い方もわかるかと。

地震以外リアルタイムで見ることもないので・・・うまく説明できません(;^_^A アセアセ・・・

TVTestの64bitビルドでVisualStudio2019(VS2019)を使い、古いCPU(Ivy Bridge:i7-3770T)でうまく動かない(エラーが出る)場合の最適化設定。

第2回的な感じですが。前回と合わせて補足的な感じで。
Spectreの緩和対策オプションを有効にしてみたのでついでにオプションを調べてみた。

うまく動かない場合の症状:

A・TVTest自体が起動しない。
次のいずれかの理由によりファイル にアクセスできません: ネットワーク接続、このファイルの保存先ディスク、またはこのコンピューターにインストールされている記憶域 ドライバーに問題があります。または、ディスクが見つかりません。 このエラーによりプログラム TVTest は終了しました。

プログラム: TVTest
ファイル:

エラー値は [追加データ] セクションに一覧表示されます。
ユーザー操作
1. このファイルをもう一度開きます。 この状況は、プログラムを再実行するときに修復される一時的な問題である可能性があります。
2. このファイルにまだアクセスできず、
ファイルがネットワーク上にある場合は、 ネットワーク管理者がネットワークに問題がないこと、およびサーバーにアクセスできることを検証する必要があります。
– ファイルが、フロッピー ディスクや CD-ROM などのリムーバブル ディスクにある場合は、ディスクがコンピューターに完全に挿入されていることを確認します。
3. CHKDSK を実行してファイル システムをチェックおよび修復します。CHKDSK を実行するには、[スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックし、「CMD」と入力して、[OK] をクリックします。コマンド プロンプトで「CHKDSK /F」と入力してから、Enter キーを押します。
4. 問題が解決しない場合は、バックアップ コピーからファイルを復元します。
5. 同じディスク上の他のファイルが開くかどうかを確認します。開かない場合は、そのディスクが壊れている可能性があります。ハード ディスクの場合は、管理者またはコンピューター ハードウェア ベンダーに連絡して サポートを受けます。

B・視聴中にチャンネル変更をしようとして落ちる場合。
障害が発生しているアプリケーション名: TVTest.exe、バージョン: 0.10.0.0、タイム スタンプ: 0x5cbb0053
障害が発生しているモジュール名: TVTest_Image.dll、バージョン: 0.0.0.0、タイム スタンプ: 0x5cbb00ad
例外コード: 0xc000041d
障害オフセット: 0x0000000000028a06
障害が発生しているプロセス ID: 0x23f8
障害が発生しているアプリケーションの開始時刻: 0x01d4f76b39f79f9f
障害が発生しているアプリケーション パス: C:\TVTest\TVTest.exe
障害が発生しているモジュール パス: C:\TVTest\TVTest_Image.dll

パターンBのスクショ。(使ってないプラグインでも何か起きてるかも^^;)

第2世代のSandy BridgeマイクロアーキテクチャからAVXの導入が始まり、第3世代のIvy Bridgeマイクロアーキテクチャでももちろんサポートされているバグ取り終わって安定期のはずなんですが…
VisualStudio2019のコンパイラはうまく判断できていないような感じですね。

「うちの環境の場合AVXが悪さをしている(^◇^;」

◆ パターンAのTVTest落ちる場合の設定。AVX使わず配布設定のままビルドすればすんなり動きます。
どうしてもAVX使いたいんだよ!っていうう場合。



インライン展開の設定が重要。

◆パターンBの場合で、AVXを使わず魔改造手前の最適化する場合



◆パターンBの場合で、AVXを使いたいんだよっていい場合の設定。最適化をあきらめましょ。
おーるおあなっしんぐってやつです。うまい設定はあるんでしょうけれども、演算の使用頻度考えたら動けばなんでもいいところ。



おま環対処です。(Skylake:i7-6700ではチューナーのない再生テストのみです=ロゴを読んでいない)
ほかの環境で同じ動作を保証するものではありません

2019.04.20 暇なんでC#ビルド環境を「.NET Framework 4.8」に移行する。(;^_^A アセアセ・・・

毎日のように使っている、EpgDataCapBon(EDCB),Amatsukaze,DGMPGDecなどをひっくるめて録画環境を再ビルド。
C#のターゲット変更、C++周りはSpectre対策オプションでビルド。はい。余計なオプション追加してます。
半日ですが今のところ普通に動いているんで、通常環境に移して様子見ですな・・・トラブルがないと普通の動作報告です。

余計なことをするのが大好きです。
でも、今回はセキュリティー上のやった方がいいんじゃね?っていう更新もあるんで、飛びつくことに!

Download .NET SDKs for Visual Studio
https://dotnet.microsoft.com/download/visual-studio-sdks?utm_source=getdotnetsdk&utm_medium=referral

面倒だから全部移行。
デバッグする気のない評価用自作プログラムも更新するべ。

(EDCB+TVTest環境をVS2019でビルド) DBCTRADO/LibISDBの更新が来てたのでTVTestのリビルドしてみた。Ivy BridgeでAVXと最大最適化(速度優先)のビルドで起動確認。

VS2019関連ってことで。ビルドできるようになりました。ありがとう~ヽ(*^。^*)ノ

で、前回こけていた「i7-3770T の Ivy Bridge」で最適化がうまくいかない話。(おま環)

「規定」と「拡張可能な関数すべて」は「Ivy Bridge」で起動できず( ^ω^)・・・

「無効」と「_inlineのみ」で起動確認しました。
エラーメッセージも出ない状態で起動できないの。投げてました(^◇^;

まぁ動けば大したことのない「おぷしょん設定」のみ。
「最適化オプションいじるな」って言われればそれまでですけど。
地雷がありそうなところで踏み込むのが人柱っていうものでヽ(*^。^*)ノ

EDCB+TVTest環境はVS2019のAVX+最大最適化(速度優先)でビルド完了!
普段使ってる環境は全部ビルドできました(かな?)。おつっした。ありがとうます。

一週間も前の修正なんて遠い過去。毎日のようにいろいろいじってる日常だと、晩御飯のメニューと同じく何食べた?どこ修正した?と同じレベル。
仕事じゃないとそんな記憶力というかその程度の重要度というか…
ソース拾ってくれば動くからリスクは少ないし命の危険は感じてないというか(;^_^A アセアセ・・・
CSのサバイバル生活してる人に比べたら取るに足らない末端ユーザーの趣味だよね’`,、(´▽`) ‘`,、


あえて言うなら、最適化無効時4.5MBのファイルが、速度優先の最適化でインライン展開しているのに3.6MBくらいに実行ファイルが小さくなっているあたり。
サイズ優先になっているような気配も無きにしも非ず。
VS2017も同じ動作だったかも・・・すでにビルド環境がないので比較しようがないということで。

週末アップデートなど:xtne6f/EDCB_20190211版、nekopanda/Amatsukaze_0.8.5.1版

連休は録画関係のアップデートが来ることが多いのでチェックしておきましょ
更新内容は各ドキュメント参照で(^◇^;

xtne6f/EDCB
https://github.com/xtne6f/EDCB

老人の朝は早い。明るくなる前に町内のごみ当番の仕事して、雪かきして。ごみを出して。Updateチェックして更新して。
日が昇るころには、お茶をすすりながら、「もうやっといたよ」っていうどや顔。
今日も平凡な一日が始まる( ̄ー ̄)ニヤリ


nekopanda/Amatsukaze
https://github.com/nekopanda/Amatsukaze

—-ここからは趣味の世界です(^◇^;
Visualstudio2017で簡単にできるものだけ紹介。フォント周りはまだ人に見せれるソースじゃないんでヘ(゚∀゚ヘ)アヒャ

アイコン変えて…


ケアレスミス防止のウィンドウ閉じる確認を入れて…


タスクバーのメッセージを、時間別タイマーから、季節もののバレンタインにして(^◇^;


上書き。ぺとぺと貼り付け。


アイコンは適当にどこかで拾う。家で使う識別アイコンだけだし細かいことは気にしない!

動作確認して終了!30分であなただけのAmatsukazeに!?(見た目だけだw)
QSVだけ放置してる気がする…最近チェックしてないな。
今は使えないようなので、QSV民の為にも早く改善される問良いですな!

2019.01.30 DBCTRADO/LibISDB/TVTest-developの更新来てました。VisualStudio2017の最適化で、子プロセスが起動できない的なエラー対処法もさらっとぬるっとべっちょり、じぇんとるめん的に教えちゃう!

お疲れ様どす。

プロジェクトの Windows SDK バージョンを 10.0.17763.0 に更新 とかそんな感じ。


PCなんでサイズはあまり気にしてないので速度優先。
LibISDBをビルドするときは、スペースや全角文字があるフォルダやパスが長い場合に、子プロセスが起動できない的なエラーが出ますので、英語圏で一般的に使われるフォルダ名称のところでビルドしましょう。
TVTestの方は無茶が利きます(?_?)エ?

×の例 E:\vs17_Projects\TVTest_AVX(第二世代以降)\TVTest-develop_20190130\src\LibISDB\Projects\LibISDB.sln

◎の例 E:\vs17_Projects\LibISDB-master_20190130\Projects\LibISDB.sln

子プロセスエラーの質問を見かけたらみんなで生易しくフォローしてあげましょうネ。
日本語環境は2バイト文字問題も半角カタカナ問題も起きやすいですから…

※ 注意書き読まずに VisualStudio 2017 自体が標準のスペースの入ったあほディレクトリにインストールされてるとどうなるかはお察し(爆笑)
上の対処法ではもちろん直りません。なぜかってあなたソース読み込みやテンポラリ・ライブラリ・オブジェクトの作成の前にプログラムがこけるから(^◇^;


うちの録画PCがi7-3770TなのでAVX最適化かけてます。つけるときは全部使いましょう。SSE系とAVX系が混在すると速度が落ちますので。わからない人は入れなくてもいいと思います。体感で差は出ません。多分ヘ(゚∀゚ヘ)アヒャ


ビルド済のLibISDBをTVTestの指定位置にコピー。すでにビルドしてあるライブラリを使うので、コピーした後にビルドは必要ないです。
E:\vs17_Projects\TVTest_AVX(第二世代以降)\TVTest-develop_20190130\src\TVTest_All.sln を読み込んでビルド~。
AVXおいてたのはDだっけEだっけ・・・いかん眠い。

x64フォルダをエクスプローラーで開き、種類で並び替える。中間ファイル.obj/libを消す。
AboutDialog.obj
Accelerator.obj
Aero.obj
AppCommand.obj
AppCore.obj
AppEvent.obj
AppMain.obj
AppUtil.obj
AudioManager.obj
AudioOptions.obj
BasicWindow.obj
CaptionPanel.obj
Capture.obj
CaptureOptions.obj
ChannelDisplay.obj
ChannelHistory.obj
ChannelInput.obj
ChannelList.obj
ChannelManager.obj
ChannelPanel.obj
ChannelScan.obj
ColorPalette.obj
ColorScheme.obj
ColorSchemeOptions.obj
Command.obj
CommandLine.obj
ComUtility.obj
Controller.obj
ControlPanel.obj
ControlPanelItems.obj
CoreEngine.obj
DebugHelper.obj
Dialog.obj
DialogUtil.obj
DirectWrite.obj
DirectWriteOptionsDialog.obj
DPIUtil.obj
DrawUtil.obj
DriverManager.obj
DriverOptions.obj
Epg.obj
EpgCapture.obj
EpgChannelSettings.obj
EpgDataLoader.obj
EpgDataStore.obj
EpgOptions.obj
EpgUtil.obj
EventInfoPopup.obj
EventInfoUtil.obj
Favorites.obj
FeaturedEvents.obj
GeneralOptions.obj
Graphics.obj
GUIUtil.obj
Help.obj
HomeDisplay.obj
Image.obj
ImageLib.lib
InformationPanel.obj
IniFile.obj
InitialSettings.obj
KeywordSearch.obj
Layout.obj
libjpeg.lib
libpng.lib
ListView.obj
Logger.obj
LogoManager.obj
MainDisplay.obj
MainPanel.obj
MainWindow.obj
Menu.obj
MenuOptions.obj
MessageDialog.obj
NetworkDefinition.obj
NotificationBar.obj
OperationOptions.obj
OptionDialog.obj
Options.obj
OSDManager.obj
OSDOptions.obj
PanAndScanOptions.obj
Panel.obj
PanelForm.obj
PanelOptions.obj
PathUtil.obj
PlaybackOptions.obj
Plugin.obj
ProgramGuide.obj
ProgramGuideFavorites.obj
ProgramGuideOptions.obj
ProgramGuideTool.obj
ProgramGuideToolbarOptions.obj
ProgramListPanel.obj
ProgramSearch.obj
PseudoOSD.obj
RawInput.obj
Record.obj
RecordOptions.obj
RegExp.obj
RichEditUtil.obj
Settings.obj
SharedMemory.obj
SideBar.obj
SideBarOptions.obj
StatusItems.obj
StatusOptions.obj
StatusView.obj
stdafx.obj
StreamInfo.obj
StringUtility.obj
Style.obj
StyleUtil.obj
Taskbar.obj
TaskbarOptions.obj
TaskbarSharedProperties.obj
TaskTray.obj
TextDraw.obj
TextDrawClient.obj
Theme.obj
ThemeDraw.obj
ThemeManager.obj
TitleBar.obj
Tooltip.obj
TSProcessor.obj
TSProcessorErrorDialog.obj
TSProcessorManager.obj
TSProcessorOptions.obj
TVTest.exe
TVTest.log
TVTest.obj
TVTest.res
TVTest.tlog
TVTest_Image.dll
TVTest_Image.exp
TVTest_Image.iobj
TVTest_Image.ipdb
TVTest_Image.lib
UIBase.obj
UICore.obj
UISkin.obj
Util.obj
VariableManager.obj
VariableString.obj
vc141.pdb
VideoDecoderOptions.obj
VideoOptions.obj
View.obj
ViewOptions.obj
WheelCommand.obj
WindowUtil.obj
zlib.lib
ZoomOptions.obj
—-

必要な2ファイルを見つけ易くなったでしょ。
TVTest.exe
TVTest_Image.dll

これと、プラグインを上書きコピーして必要なものを残して消す。

今日もすっきり!?
プラグインの方の・・・
E:\vs17_Projects\TVTest_AVX(第二世代以降)\TVTest-develop_20190130\sdk\Samples\Samples.VS2013.sln は 10.0.17763.0 に再ターゲットのポップアップ出ますね(;^_^A アセアセ・・・
まぁビルドできればなんでもOK!終了!

Amatsukazeをビルドするときに忘れないようにしたい“φ(・_.) メモッ!

おま環です。エクスプローラー閉じようとして右上の「×」ボタン押したら・・・Amatsukazeが閉じてエンコード中断してしまったことがしばしばあるので(爆笑)
終了時に確認出るようにしましょ’`,、(´▽`) ‘`,、


こんなボタン確認を追加。メッセージは好みで修正を。

private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
// 質問ダイアログを表示する
System.Windows.Forms.DialogResult result = System.Windows.Forms.MessageBox.Show("ウィンドウを閉じますか?", "質問", System.Windows.Forms.MessageBoxButtons.YesNo, System.Windows.Forms.MessageBoxIcon.Question);
if (result == System.Windows.Forms.DialogResult.No)
{
// はいボタンをクリックしたときはウィンドウを閉じる
e.Cancel = true;
}
else
{
(DataContext as ViewModels.MainWindowViewModel)?.Model?.SaveWindowPlacement(this);
}
}


編集位置はGUIのClosing。
VisualStusio2017でビルドできるところなんでお気軽に。
オープンソースに感謝ですね。痒い所を弄れるのはいいこと。


ビルドしたファイルをコピーする。中身は弄ってないので上書きでいいかと。
あと、何か注意は・・・(゚〇゚;)自己責任で!

編集ソースがわからない人は弄らないようにヘ(゚∀゚ヘ)アヒャ

[2018.12] TvtAudioStretchFilter.axは要注意!VS2017のver15.9.4でC++の最適化バグが治ったよう言うような書き込みを見て全ビルドやり直してみるの巻

ちょっと前にやった気がするが・・・
ビルドは自己満足のおま環なので、違うところがあると思うので自己責任で自分の環境に合わせてねヘ(゚∀゚ヘ)アヒャ
日付を見るとEDCB11/26とかTVTEST10/27辺りからの更新になります。
公開してくれた作者さんに感謝してサクサク行きましょ!

i7-3770T用のAVX(第2世代)と、i7-6700用のAVX2(第4世代)の2つの環境を再構築してみた。
VS2017のBugFixアップデートもあり、基本的にはクリーン&ソリューション再ターゲットして、リビルド。
Win32(x86)は今回から全部削除。64bitに移行で問題ないっぽい。
パッチなどは事前に全部当ててあるので、ビルドするだけにゃ~。
EPG取得・録画・再生・タイマーテストして、それでも再構築までに30分。
トラブルがないのに、思ったより時間かかった^^;

—-大まかなビルドリスト。全部じゃないです。Amatsukazeのビルド環境構築などは説明できないので(^◇^;
私が使うツールは、今は全部ソースが公開されているので足りないといわれるものや、追加の機能が欲しくてもすぐに手に入っていい時代ですよね…もう、ビルドくれ~と泣いてた10年くらい前とは時代が違うw
足りなそうなものは構築サイト見て拾ってくださいな。
私よりも説明がうまくアフィリエイト一杯貼ってあるところありますので(;^_^A アセアセ・・・
宝くじ当てるよりよりも仲間と小銭稼ぐ方が楽しいよね・・・(^◇^;

どのソース落とせばほしいものが入っているかなんとなくわかると思いまする。
ここにあるのは全部64bitビルドできますヽ(*^。^*)ノ
—-
(EDCB-BonDriver)
D:\vs17\EDCB_TVTest_AVX(第二世代以降)\BonDriver_PT3-ST-master\BonDriver_PT3.sln
D:\vs17\EDCB_TVTest_AVX(第二世代以降)\BonDriver_PT-ST-master\BonDriver_PT.sln
(EpgDataCapBon:EDCB本体)
D:\vs17\EDCB_TVTest_AVX(第二世代以降)\EDCB-work-plus-s_181125\Document\EDCB_ALL.VS2015.sln
—-
(TVTest-BonDriver:Pipe)
D:\vs17\EDCB_TVTest_AVX(第二世代以降)\TvtPlay-work\BonDriver_Pipe_src\BonDriver_Pipe.sln
(TVTest-BonDriver:UDP,TCP)
D:\vs17\EDCB_TVTest_AVX(第二世代以降)\BonDriver_UDP\BonDriver_ALL.sln

(TVTest本体)
D:\vs17\EDCB_TVTest_AVX(第二世代以降)\TVTest-develop_181026\src\TVTest.sln
(本体付属のSampleの中にプラグインがあります)
D:\vs17\EDCB_TVTest_AVX(第二世代以降)\TVTest-develop_181026\sdk\Samples\Samples.VS2013.sln

(他プラグイン例)
D:\vs17\EDCB_TVTest_AVX(第二世代以降)\TVCaptionMod2-develop\src\TVCaption2.sln
D:\vs17\EDCB_TVTest_AVX(第二世代以降)\TvtPlay-work\src\TvtPlay.sln
(TVTestVideoDecoder.ax)
D:\vs17\EDCB_TVTest_AVX(第二世代以降)\TVTestVideoDecoder-master\TVTestVideoDecoder.sln
—-
(TvtAudioStretchFilter.ax)
D:\vs17\EDCB_TVTest_AVX(第二世代以降)\BaseClasses\BaseClasses.sln
D:\vs17\EDCB_TVTest_AVX(第二世代以降)\soundtouch\source\SoundStretch\soundstretch.sln
D:\vs17\EDCB_TVTest_AVX(第二世代以降)\soundtouch\source\SoundTouch\SoundTouch.sln
D:\vs17\EDCB_TVTest_AVX(第二世代以降)\TvtPlay-work\TvtAudioStretchFilter_src\TvtAudioStretchFilter.sln
—-
TvtAudioStretchFilter.axはバッチファイルを作っておくと楽。
下記バッチ例ではディレクトリ名を環境に合わせてね。
—-TvtAudioStretchFilter.ax_install.bat
regsvr32 D:\TVTest_x64\TvtAudioStretchFilter.ax
pause
—-TvtAudioStretchFilter.ax_remove.bat
regsvr32 -u D:\TVTest_x64\TvtAudioStretchFilter.ax
pause
—-
■ 「TvtAudioStretchFilter.ax」 ビルドするなり
TvtAudioStretchFilter.ax ビルド順

■ 「TvtAudioStretchFilter.ax」 の設定(TVTest:先に上記バッチでWindows10に登録しておく)

■ ついでに「TVTestVideoDecoder.ax」の設定画面

■ 「TVTestVideoDecoder.ax」のプロパティ例(今使ってないんで、画面だけ。赤枠の中は調整してください)


※字幕のある映像などでデインタレが利いているか確認しておく。
わたしゃほかのフィルタ使っているんで( ^ω^)・・・

—-追記。
眠くなったんでサブPCのフィルタ設定は宿題に・・・

LAVで480iの動きの速いシーンをFHDで表示したときのデインタレ字幕。
2m離れて違和感なければいいんじゃね?(^◇^; こだわりあるのはわかるけど・・・
PCで静止画にして見ると思ったより汚ちゃないヘ(゚∀゚ヘ)アヒャ
設定合わせてないと、F1などはTVの方が優秀ですなw

※NVIDIAのHWデコーダーの方が好みなんで設定などは最後まで煮詰めてません。

10年前より設定増えてね?(^◇^;
2度寝しよう(_ _).。o○


■ さらにNVIDIAでAVX2設定のビルド環境をテストする(GTX970グラボがささったCPUオンボードグラボもONになったi7-6700のPCですTEST用になるべくAVX2使ったビルド)
DVXA2でIntelとCUVIDのデインタレのかかり方が違うにょろ・・・
多分どこかに設定があるんだろうけど、探すのが面倒なので画像貼って終わりにする(^◇^;
上のi7-3770TのGPUではうまくデインタレがかからずコーミングノイズが出る時がある。映像による。

LAVの設定見るとこんな感じ。

CUVIDのデインタレ。


DXVA2 CopyBack設定。
設定が減ったうえに負荷が上がる。
LAVでGPUが1種類で設定を決め打ちしているのならCUVIDで十分?

DXVA2のデインタレ。


動画で見てるとさがわかりませぬ(^◇^;
コーミングノイズ出てなければOKですよね。

負荷的にAVX2が有効かどうか体感できることはありません。
エンコードやマイニング、AI深層学習、アドビのソフトとか画像や大量計算が必要なソフトなど最適化されたプログラム以外は気にしなくていいと思います。
IntelCPUではよほど無茶な構成にしないとAVX2対応していないPCでも問題ないですが、AMDは実害が出ますので、互換性の関係上、家の中でも下限Pcにそろえた方がいいと思います。
(ソースコピーして、オプション変更し忘れて、AVX2に最適化したTVTest.exeをi7-3770TのPCで動かしていても気が付かなかったくらい (^◇^;アハ~)
動画再生の負荷なんてそんなものです!(?_?)エ?
このあたりはArmがx64対応したあたりから考えましょ?(自己満足ですが)


寒いのにCPU利用率2%くらいなのでCPUのFANが止まりそうです。
低速で止まったり動いたりする方が気になるわぁヽ(`Д´)ノ

結局部屋で一番うるさいのはエアコンですil||li _| ̄|● il||li

終了。

■■■■


—-新しくソース持ってくると忘れるので…癖のあるやつだけ、ちょこっと抜粋メモしておく。
TvtAudioStretchFilter.axのビルドのやり方。でも情報が古いので環境によっては違う動作をします。
作者さんが修正を入れてる場合もありますので。

【TVTest】ビルドした・するスレ【EDCB】その2
https://mevius.5ch.net/test/read.cgi/avi/1518705444/75-n

—-抜粋
76名無しさん@編集中 (アウアウウーT Sa08-MTlB)2018/02/28(水) 17:33:45.01ID:NWL01Plfa>>94
この方法で MD/MT/x86/x64 vs2017ですべてビルドできる

【TVTest】 TvtPlayについて語るスレ Part 4

685 :名無しさん@編集中:2016/09/07(水) 10:14:05.59 ID:6v/9cxjZ
TvtAudioStretchFilter.ax ビルドの手順

1. SoundTouch.patch を適用
soundtouch-1.9.2.zip をダウンロードして解凍
soundtouch フォルダ名を a に変更
一つ上のディレクトリに SoundTouch.patch を置く
管理者権限でコマンドプロンプトを開いて patch.exe を実行

patch -p0 -b < SoundTouch.patch フォルダ名を soundtouch に戻す 2. 各フォルダの配置 \Projects\BaseClasses \Projects\soundtouch \Projects\TvtPlay-work-plus\TvtAudioStretchFilter_src 77名無しさん@編集中 (アウアウウーT Sa08-MTlB)2018/02/28(水) 17:34:05.69ID:NWL01Plfa>>78
3. BaseClasses をビルドする
\Projects\BaseClasses\baseclasses.sln

4. SoundTouch をビルドする
\Projects\soundtouch\source\SoundTouch\SoundTouch.sln
ビルド前にプロジェクト SoundTouch のプロパティを開いて
構成プロパティ → C/C++ → コード生成 → ランタイム ライブラリ を
マルチスレッド DLL (/MD) に変更しておく

5. TvtAudioStretchFilter をビルドする
\Projects\TvtPlay-work-plus\TvtAudioStretchFilter_src\TvtAudioStretchFilter.sln

78名無しさん@編集中 (ワッチョイ 74a2-jWof)2018/02/28(水) 21:01:30.65ID:pgFRja0F0
>>76>>77
ほほう、やってみよう
サンクスです

79名無しさん@編集中 (ワッチョイ dfb3-lEE9)2018/03/01(木) 00:09:37.45ID:py/T0UNK0>>82
>>76-77 で引っかかりそうな2点。

・SoundTouchを「ソリューションのビルド」しても作成されない。
「SoundTouchのビルド」を実行する。
またはソリューションのプロパティでビルドできるように変更する。

・TvtAudioStretchFilter.slnのx64ビルドでSoundTouch_x64.libが見つからない。
soundtouch\source\SoundTouch\Releaseに作成されているSoundTouch_x64.libを
soundtouch\libへコピーしておく。
またはSoundTouch_x64.libの場所を「追加のライブラリディレクトリ」に加える。
あるいはSoundTouchをビルドする時点で根本的に修正しておく。

80名無しさん@編集中 (ワッチョイ bf9f-m1UI)2018/03/01(木) 01:09:59.51ID:CnOtLzKd0
自分もTvtAudioStretchFilter.axビルドしてみた。
素人なもんで躓いたところを書いてみる。

4.について
自分の環境(VS2017)ではそのままではビルドできなかったので
ソリューションエクスプローラーからSoundTouch右クリック>プロパティ
右上の構成マネージャ
構成をreleaseにしてビルドにチェックを入れた。
書いて有るとおりsoundtouchはビルドの前に/MDに変更を忘れずに

BaseClasses、soundtouchフォルダは
TvtAudioStretchFilter.slnの入ってるフォルダの二個上のフォルダに配置する

これで動いてる模様

81名無しさん@編集中 (ワッチョイW df7f-tZ4x)2018/03/01(木) 08:50:40.10ID:YyxR5+J20
参考になります
ありがとう

82名無しさん@編集中 (ワッチョイ 7f06-m1UI)2018/03/01(木) 09:12:43.55ID:TIujTdNg0
>>76>>77>>79
詳細助かる

83名無しさん@編集中 (ワッチョイ bf63-yVqK)2018/03/01(木) 09:36:42.79ID:/en+xUDT0
MDは躓くポイントではないのだが。すべてMTでもビルドできるぞ。

84名無しさん@編集中 (ワッチョイ 2731-Fhm4)2018/03/01(木) 10:59:38.01ID:hvp78GtC0
私が躓いたところ(Windows10_1709、VS2017 Community)
SoundTouchをビルドする時に、x64で実行するとエラー
何回やってもダメなのでエラーメッセージをまじめに読むと、ファイルののプロパティ値が違うとかどうとか
やむを得ずWin32で実行すると、ビルド成功
soundtouch\source\SoundTouch\ReleaseにSoundTouch_x64.libが作成されており、
以下は>>79の通りに行って、TvtAudioStretchFilter.axのx64ビルドに成功

Win32でビルドすればx64版もいっしょに作成するなんて思わねえ
—-
■ SoundTouch_x64.lib などLIBがうまくコピーされず古いままになっている場合がります。
ソリューションをクリーンしても削除されないファイルなので、手動で削除するかビルドした時に更新されているのを確認してから後のビルドを行いましょう。

SearchCloneFilesで名前一致でサイズが小さいものを選択する。(サムネイルを削除する場合など)

同一ファイルを探すツールなので…なので( ^ω^)・・・
ファイルサイズが違う時点で対象外なので、本機能に実装してないので、オプションキー検索を使うようにします。
(※おまけでつけた機能なのでほとんどデバッグしていません。大小など左のキーが優先されます。優先順位の関係でチェックが逆になる場合があります)

■ 同一名で、サイズが小さいものを自動選択する


0.最初のページで[名前一致]検索を行う

1、[Name](名前)検索を選択(おまじない)
  (なくても動くと思いますがソート順がおかしくなって変わっている場合があるので)
2、[Size](サイズ)検索を選択(他は[None]にしてください)
3、小さいサイズを選択するので、[Lower]
4、キー検索のチェックボタンを押す。

そんな感じです。

キャッシュなどは同一名があると[~1]とかファイル名を変更している場合があるので対応できたら便利かも( ^ω^)・・・

—-追記
削るだけなら Flexible Renamer v8.4 で、できるそうです。

Flexible Renamer v8.4
http://hp.vector.co.jp/authors/VA014830/FlexRena/