inoviaさんへ
以下のコードで、僕の環境では、動画表示部(64x64)以外が真っ黒に塗りつぶされます。
#include "hspdsp.as"
dsp_Init ; 初期化
dialog "*",16,"メディアファイル"
if stat=0:end
// EVRレンダラーで開く
dsp_Open refstr,OPEN_EVR ,hwnd,0,0
onexit *exit ; 終了時開放するため
dsp_Play hwnd,0,0,64,64 ; 0,0 座標に 64x64 の大きさで表示
if stat!=0:dialog "EVRが使えないようです。"
stop
*exit
dsp_Close ; メディアファイルを閉じる
dsp_Exit ; 開放
end
僕の環境だけですかね。
あと、VMR9を使うと、拡大表示したときに、表示が汚くなるのも直して欲しいです。
バックバッファのスワップチェーンからウィンドウにPresentする際に、
ニアーポイントフィルタを使うようです。
既定ではスワップチェーンのサイズは動画と同じサイズだとおもいます。
僕は、VMR9のカスタムアロケータを実装するとで簡単に解決できました。
表示領域とスワップチェーンのバックバッファのサイズをあわせて、
動画サイズの動画テクスチャをテクスチャフィルタリングを使って
レンダリングしました。
Meldia Player Cassic のソースコードがそうなっていたので、それにあわせました。
また、vmr9allocatorという名前でマイクロソフトのサンプルがありました。
字幕に関してですが、僕がVisualStudioでグ何も考えずに作った、
ただ単にRenderFileを呼び出すだけのプロラムでは字幕が表示されるのに、
hspdspで再生すると字幕が表示されない動画があります。
ちなみに、僕がVisualStudioで作ったプログラムでは、
"DirectVobSub (forced auto-loading version)"
というフィルタが自動で読み込まれていました。
これが字幕を付けてくれているようです。
この働きを阻害するようなことを、何かhspdsp側でされていないでしょうか。
例えばフィルタグラフを自前で作成するなど。
だんだん有意義なスレッドになってきましたね。
skyblueさんへ
XPをサポートするかしないかは個人のポリシーなので、
とやかく言うのはやめましょうよ。