Markdown展開

2012年2月1日水曜日

SCFH DSFのパッチ内容

先日SCFH DSFへコミットした修正の内容をまとめます。



SCFH DSFはmosamosa氏が作成した、peercastやニコニコ動画などのストリーミング配信において有用なツールです。

オリジナル版のサイトはこちら(SCFH DSFは旧コンテンツにあります)

3N




SCFH DSFは非常に使いやすくて便利なツールですが、最近の環境では幾つか問題がありました。


 一つはvista以降の環境だとハードウェアによる拡大縮小ができない点、

もう一つは特定の環境で音声が乱れる・取り込みが停止する点です。




暫くソースコードを舐め回した結果、修正どころがわかってきました。



一つ目はvista以降から画面周りの扱いが変わったことから起きたと思われるものです。
これはサーフェスのバッファの取り方を変えたら何故か動くようになりました。

二つ目はCPUの動作周波数が変わる環境で、(バグか仕様かはわかりませんが)タイマがずれてしまうことによるものです。
これはタイマをずれないものに差し替えました。


#ちなみに環境依存の問題なのでpullリクエストは出していません。



以下に該当する方は元のファイルを差し替えて使ってみてください。


OSがvista/7の方

エンコード中に音がずれる、映像と音が合わない、音が消える、映像が止まる等が起きる方




ダウンロード
(ページ右上の元のファイルをダウンロードをクリックしてください)



使い方

1. ダウンロードしたアーカイブをSCFH DSFのフォルダに解凍します

2. エンコーダとSCFH DSFを起動します。

3. SCFH DSFのウィンドウの、スレッド数を1にして、縮小方法をNearest(DirectDraw 1pass扱いになります)、またはBilinear(DirectDraw 2pass扱いになります)を選択します。


ソースはこちら
progre/SCFH DSF - github


以上。

2 件のコメント:

  1. こんにちは。
    少し使用してみて、バグ?のようなものが見つかったので報告します。
    SCFHの改良版ということで、ダウンロードし、使用してみました。
    すると、スレッド数を1にすると非常に画質が荒くなってしまいます。
    比較で言うと、このバグ<縮小方式nearest<縮小方式Bilinear です。
    スレッド数を1以外にするときれいな画質になります。

    使用環境は、
    OS:Windows7 64bit
    エンコーダー:KoToEncoder

    返信削除
  2. コメント有難うございます。
    指摘の件ですが、「使い方」にありますように、スレッド数を1にした場合はDirectDrawモードになります。
    また、その際はスレッド数2以上(ソフトウェアモード)より画質が悪くなることがあります。

    返信削除