【EDCB】EpgDataCap_Bonについて語るスレ 59
■ このスレッドは過去ログ倉庫に格納されています
B25Decoderの件、なんだかよくわからないまま
TsPacket.cpp 27行目のZeroMemoryをSecureZeroMemoryにしてみた
VS2017 15.6.3 x64 最適化オプションはオリジナルのままビルドして
EPG取得と録画してみたが落ちなかった B25Decoderの件は、VS2017のバグなんかじゃなく
最適化が有効に行われた結果だったと言える >>40
よくわからないけど何かピーンと来るものがあったんだな?w >>43
SecureZeroMemoryはそういうことに使うもんじゃないよ
これでプログラムの振る舞い自体が変わってくるなら
やっぱりコンパイラなりソースコードなりになんか誤りがある 最適化の弊害をググっただけで、アセンブラ読めないからテキトーです。
volatileかかるし動作的には納得できるかな?
誰かキレイなやり方で修正してください >>40
Good Job.
SecureZeroMemoryに変更して以下のオプションで問題なし。
簡単に確認しただけだから、しばらくこの設定で様子見だ。
主な最適化
・最適化は速度最大の/Ox
・インライン展開 /Ob2
・組み込み関数 /Oi
・実行速度優先/Ot >>40
15.6.3 言語オプションstdc++-17で
SecureZeroMemoryに置換してみたんだけど、
スクランブルエラーが 2個/secぐらいのペースでゆっくり増えていく。
もちろん、同じオプションで(言語オプションだけは違うけど)VS2015でエラーフリーのB25Decoder.dllができる >>43
新しい言語仕様の部分でオプティマイズ手法が変わるならまだしも、
従来のコンパイラで正しく動作していたものが、同じオプションで動作しなくなるのは、
ユーザにとって迷惑以外の何物でも無いだろ。
改訂履歴のアナウンスしてるのかな? >>52
>・最適化は速度最大の/Ox
速度最大はO2だろ。
Oxは速度優先でサイズもシュリンクする。
ちなみに、ゆっくりとエラーが増えていくバイナリできあがったのはO2 >>55
おっしゃる通りです。
オプションは/Oxで確認中。 >>54
最適化判定がより厳密に行われるようになったってことでしょ
その為の最適化オプションの指定がある
古いコンパイラのユーザーにとっては迷惑な話ですが 恥を忍んで質問します
スクランブルエラーが出ているかどうかは、どうやったらわかるのでしょうか? 録画済み一覧>録画番組右クリ>録画情報>エラーログのScramble EpgTimerの録画済み一覧から、以前録画した番組を
右クリ>録画情報>を開くと、
番組情報 タブ、エラーログ タブ共に全く記録がなく、空欄のままです
これっておかしいですよね
僕が何か変な設定したんでしょうか…
録画済み一覧のリストにあるDropの欄には0か1、Scrambleの欄には全て0と表示されてます 環境は、自作PC、Windows10Pro、PT3、VS2017でビルドしたxtne6f氏版EDCB10.69、(TVTest0.10.0)、全てx64
録画した番組は、WOWOWシネマのドラえもん、既放送された8本だけです
4年くらい前まで使ってた録画用PCを、今回の映画ドラえもん 一挙放送に間に合わせるために、急遽最新環境で再構築して使い始めたものです
子供に残してやろうと思いまして… >>52
前スレで話題出たときブラケットで修正したけど今んとこ何ともないな >>53
> スクランブルエラーが 2個/secぐらいのペースでゆっくり増えていく。
これは、リアルタイムに観察してるということですよね
どうやればできるのでしょうか? EpgDataCap_Bon.exeを単独起動して凡ドラ-サービス選択してほっとけば良いだけじゃ? エラーログ空欄の理由はわかりました
EpgTimerSrv設定の録画動作で、ドロップログを出力する、番組情報を出力する、のチェックを外していたからでした
これを出力させるとうっとうしいので、一覧でのエラーの数値が増えるような事態にならなければ、チェックを外しておくことにします >>62
同士発見
俺も子供に残してやろうとAV集めてるよ スクランブルエラーのリアルタイム観測は、Viewボタンで受信番組を表示させて、画面右クリック>ストリームの情報>PID、で表示されるエラーの数値を見ればいいようですね
ID真っ赤にしてダラダラとスミマセンでした >>40
というかVS2017を15.6.2->15.6.3にアプデしてビルドしたら
ZeroMemoryがどうのこうの関係なく例の落ちるバグ消えたみたいなんだが。 訂正
誤:15.6.2->15.6.3
正:15.6.1->15.6.3
なんにしろ現行の15.6.3で落ちるバイナリはできなくなった うちじゃ>>40の修正しないとO2以上に最適化すると落ちるけどな
O1だと動くがO1+Oiで落ちた >>60
EpgDataCap_Bon.exeを立ち上げると、
左下に、信号強度、ドロップエラー、スクランブルエラーがリアルタイムででるじゃん
SecureZeroMemoryに置換したものは
EpgDataCap_Bon単独で動作するのに、
EpgTimerから起動しようとすると起動失敗して落ちるわ。
B25Decoder.dllだけ15.6.3でビルドしたのがよくないのかも。 すまん>>72-73 は忘れて
プラットフォームツールセットの設定間違えてたorz
15.6.3でも状況はまったく変わらない、落ちる。 まぁ、オプション設定とか、絶対ってのがないんで、
状況見ながら使ってくれって意味でもオプションにしてるんだが、
過去のコンパイラで問題なくビルドできて、機能していたソースが同じオプション設定で
予告もなくいろいろトラブルのは限りなくバグに近いな。
最適化手法変えたなら、コンパイル時にwarningでも出してくれんとユーザは気づかない。
実動作トラブルってのは最悪
Windowsのアプリ屋さん乙です >>75
左下のScramble: の数値ですか
この値、チャンネル選択した直後に、0から3桁後半〜4桁(だいたい1000台前半程度まで)になった後、ずっと同じ値のまま変わらないのですが、それで問題ないということでしょうか?
チャンネル選択直後のスクランブル解除過程ではある程度エラーは出るが、その後安定しているなら、正常動作ということで
そうならば、数値が増えることは全くないので、安心なのですが >>77
既定でc++14のところをc++17にしてるってこと >>80
やわらかの場合はしらんけど、チャンネル切り替えの際に多チャンネルの同時読み取りなどカードの負荷によっては最初若干解除できないケースはある。 B25Decoderの件で起きている問題を極限まで単純化したので
C++の腕に覚えのある奴はどうぞ
https://www.axfc.net/u/3897236
多重継承まわりで自分はどうにも確信が持てないので諦めたけど
バグだと思ったらMicrosoftにでも教えてやってくれ。 >>81
はぁ?それがどーした?
C++-14設定で使うなら言語仕様としてVS2017で2015設定するのと変わらない。
お前は、何のためにVS2017使ってるんだ?
も一つ言うと、
VS2017において、
2015標準設定(c++14)と、2017のc++14設定で、違うコード吐くこと自体大問題なんだが、
それについてMSはなんらかのアナウンスしてるのかって話だ。 >>82
う〜ん
ということは、チャンネル切替直後とはいえ、スクランブルエラーが数百〜1000以上出るのは正常動作ではないということですか…
当たり前ですが、B25Decoder.dllを外して起動するとエラー数値はどんどん増えていきます
またこれも当たり前ですが、ノンスクランブルのチャンネルは、B25Decoder.dllなしでもエラーはゼロのままで視聴できます
まあ、ホントにチャンネル切替直後の1秒間以下だけのことなので実使用上は問題ないのですが、あまり気持ちよくないですね B25Decoder.dllのライブラリでbonprojectだったかな?これは15.6.3でビルドしたのか? >>86
私に対するレスでしょうか?
Multi2Decのソースに同梱されてるBonProjectも、VS2017 15.6.3でビルドして、BonSDKを上書きして、B25Decoder.dllをビルドしてます
ちなみに、昔どこかで拾ってきた保存してあったB25Decoder.dllのバイナリ(x64)を使用しても、チャンネル切替直後にエラーが出る現象は変わりません
オレ環なのかなあ? EpgDataCap_Bon(人柱版10.66)を使っています
チューナーはPX-W3PE1枚挿し
EpgTimerの予約の優先度はデフォルトの2のままです
先日
チャンネルA 19:00〜19:30 19:30〜20:00
チャンネルB 19:00〜20:00
を録画予約したところ、チャンネルBの録画が19:30で切れてしまいました
チャンネルAの最初の番組を尻切れさせ次番組を録画&チャンネルBの録画は続けたい場合は優先度を上げればいいのでしょうか? >>88
地デジ2チューナーあるはずだから、その状態で片方が切れるはず無いんだが
他の予約情報を省略してない? >>87
EpgDataCapBon起動してサービスでチャンネル切り替えた直後にScrambleの値が1000程度まで記録されてそのまま維持。
俺の環境でもそうなるよ。
このことを言っているならおま環じゃない。 >>90
予約情報は書いた3番組だけでした
録画済み一覧のログを見たら
「次の予約開始のためにキャンセルされました」
と載っていました
これからは連続して予約がかぶる時は優先度を気にしてみます >>91
その現象です
オレ環じゃなければ少し安心です
それが普通なんですかね…
それとも、理想的に動作すれば、チャンネルを切り替えた瞬間からスクランブルエラーなんて全く出ないものなのでしょうか? >>92
ちょっと分からないなあ
チューナーの使用状況画面でチューナ不足になってなければいけるはずなんだけど >>94
俺も初めてこんな事になってちょっと戸惑ってます
BSで時間は連続するけどチャンネルが違う場合
BS A 22:30〜23:00
BS B 23:00〜23:30
BS C 23:00〜23:30
などは問題なく録画出来てました
今後は注意して録画してみます 急に読売テレビが番組表に表示されなくなった どうすればいい 俺は前から表示されない
代わりにSTVが表示されてる 番組表の表示設定もちゃんとしてるし他のやつなら出る
なぜか読売テレビだけ出なくなった >>92
BonDriverの構成も書かないと
BonDriver_S0/S1のようにしてる場合、どっちもS0で予約されてれば同じチューナー使うことになるから
切れる チャンネルスキャンしたら読売テレビ出るようになりました >>102
ズコ〜
当然チャンネルスキャンくらいやり直した上で質問してるもんだと、みんな思ってたぞ、きっと いいんだよ気にしなくて
おじさんが優しくしてあげるからね どうでもいいことかもしれませんが、どうしても気になることがあります
BonDriver_PT3-S.ChSet.txtで各チャンネルに割り振られている「BonDriverとしてのチャンネル」の数値(BS朝日0〜Dlife27)が、実際のチャンネル番号の順番通り(NHK BS1〜Dlife)になっていないのは、何か意味があるのでしょうか? >>101
なるほど
ググって調べてみます
どうもです >>106
レスどうもです
書式さえ守れば、この番号を実際のチャンネル番号順に書き換えても支障はないのかな…
その方が、EDCBの番組表の順番を並び替えるのが簡単になりそうな気がするんだけど
まあ、一回やってしまえば済むことなんだけどね EpgDataCap_Bonを起動した時にviewの横のUDPにデフォルトでチェックを入れる設定はありますか? 4月になったらBSチャンネルスキャンしなおさないとダメだよな >>107
お前の構成の話なんだから検索したって何も出てこないぞ すみませんここ数日で日テレだけ映らなくなってしまったのですが
何か解決のヒントを下さい
都内で他の地デジchは全て問題ありません チャンネルスキャンはしましたが変化はありませんでした
http://i.imgur.com/eWSElTX.png >>114
Signal:25.55って電波の品質が悪すぎ。
受信出来る/出来ないの閾値あたりにいたけど、ここ数日悪い方に推移したのだろうね。
アンテナ周りの受信環境を見直したら? >>113
素人なのでどこを見ればいいか分からないもので・・・ VS2017.15.6.4リリース
これだけ連日のように改訂繰り返してるのは間違いなく15.6.xはバグ孕んでる。
ちなみに
SecureZeroMmemoryに置換するとどうも不安定だったのが、元にもどして正常コンパイル、
正常動作するようになった模様 追記
BcaeCardReader.cppのauto_ptrは15.6.3と同じく unique_ptr に変更しないとコンパイルが通りません。 >>117
素人さんが使うものじゃないよ。
さようなら。 いろいろ触ってきたけど、最適化を完全にoffして、
ビルドできても、正常機能しないバイナリができあがるんだから
コレまでの騒動はコンパイラのバグと断定していいと思ってる 煽りではなく、ホントにおうかがいしたいのですが、何をもって正常機能しないと判断されているのでしょうか?
当方、Windows10Pro、VS2017 15.6.3、SecureZeroMemoryに置換、x64でビルドしたB25Decoder.dllが、起動時に落ちることなく、チャンネル切替直後以外にはスクランブルエラーが出ることもなく、正常に動作しているように見えます SecureZeroMemoryに置換しただけで、コンパイラの設定は全てデフォルトのままです >>122
> いろいろ触ってきたけど、最適化を完全にoffして、
> ビルドできても、正常機能しないバイナリができあがるんだから
この話は、いつ出た?
最適化offにすれば問題ないはず >>118
また新版をリリースしてるのかよ。
EDCBを15.6.3でビルドし直してセットアップしたばっかなのに。
落ち着くまで暫く様子見だな。
>VS2017.15.6.4リリース >>118
15.6.3->15.6.4でVC++関連の更新はないぞ >>118,119,122
・SecureZeroMmemoryに置換しても不安定
・BcaeCardReader.cpp の auto_ptr を unique_ptr に変更しないとコンパイルが通らない
・最適化を完全にoffしても正常機能しない
ここまでくると、おま環だよ >>129
俺も同感。
否定的なこと言ってるのは>>118のID:Bl8tqJS90だけだろ。
OSから再インストールするとか自分の環境を見直すべきだと思うぞ。 意味ないとけどVS2017とICC++18でビルドするとき、並列化 (/Qparallel)しちゃうとスクランブル解除しないです。
TVTestVideoDecoderをビルドしたときも並列化有効にしたらデコードエラーした >>127
誰にも相手にされてない現実を見つめようよ Material WebUIつかってるんだけどEpgTimerWeb2は使い勝手いいのかな? >>129
だから言ってるだろ。
VS2017でも使用コンパイラを2015に変更すれば何の問題もないって。
しかも、ソース変更の必要も無い。
つまり2017コンパイラのバグだ。
>>131
ワロタ。歴史的にモノリシックカーネルのカスタマイズ前提のUnixじゃあるまいし、
コンパイルするのにOSのインストールかよ。
マルチスレッドオプションで2015なら何も問題ないのに2017じゃエラーになるんだよ。
2017がバグ入りコンパイラだ。 B25Decoder.dllだけビルドするソースです
少しでもお役に立てたら幸いです。AVXになってるのでお気を付けください
https://www.axfc.net/u/3897717
B25Decoder22から、
TsDescrambler.cppのTRMP対策[OnCatTable(),GetDescramblingState(), OnPmtTable() の メソッドを変更]
TsDescrambler.cppのVC2008でコンパイルすると日テレで落ちまくる
TsDescrambler.cppの難視観た後にch変えるとEnableB25Decoderの設定無視る
B25Decoder.rcのMFC を受け入れない
BcaeCardReader.cppの'std::auto_ptr'を'std::unique_ptr'に書き換える
TsPacket.cppのL27行,L183行,L184行の'ZeroMemory'を'SecureZeroMemory'に書き換える >>132
意味ないとは言い切れないな。
シングルスレッドしか考えてないソースであっても、
マルチスレッド用の汎用ライブラリに変えただけでパフォーマンス向上する可能性ある。
C++13からは言語レベルでマルチスレッド対応してるし、これまでその設定で何も問題なかった。
実際VS2017でも2015を選択すれば何も問題ない >>136
2017で出るとおっしゃってるエラーって、どういうものなのですか? >>137
「VC2008でコンパイルすると日テレ」はTsDescrambler.cppの L398
<orig>if(!m_TsInputMap.GetMapTarget(wEcmPID)){
<このソース>if(!dynamic_cast<CEcmProcessor *>(m_TsInputMap.GetMapTarget(wEcmPID))){ ■ このスレッドは過去ログ倉庫に格納されています