GoForce5500 on EM・ONE(その5)
X01Tユーザさんのおかげで、いろいろ解ったので、次のステップへゴー
■レジストリの関係を調べてみる
いちお、H.264/AVCの再生が当初の目的なので、.mp4 のレジストリから調べてみる。
あ、これは、X01Tですからね。
[HKEY_CLASSES_ROOT\Media Type\Extensions\.mp4]
"Media Type"="{e436eb83-524f-11ce-9f53-0020af0ba770}"
"Subtype"="{E1E0DBBB-AEEE-4188-ABD4-CD896062375E}"
"Source Filter"="{0FB94513-7814-49bc-A119-CE64332402BA}"
ふむ。んじゃ、この Media Type とは…
[HKEY_CLASSES_ROOT\Media Type\{e436eb83-524f-11ce-9f53-0020af0ba770}\{e436eb8c-524f-11ce-9f53-0020af0ba770}]
"Source Filter"="{E436EBB5-524F-11CE-9F53-0020AF0BA770}"
"0"="0,4,,2e736e64"
[HKEY_CLASSES_ROOT\Media Type\{e436eb83-524f-11ce-9f53-0020af0ba770}\{e436eb8d-524f-11ce-9f53-0020af0ba770}]
"Source Filter"="{E436EBB5-524F-11CE-9F53-0020AF0BA770}"
"1"="0,4,,464f524d,8,4,,41494643"
"0"="0,4,,464f524d,8,4,,41494646"
[HKEY_CLASSES_ROOT\Media Type\{e436eb83-524f-11ce-9f53-0020af0ba770}\{e436eb8b-524f-11ce-9f53-0020af0ba770}]
"Source Filter"="{e436ebb5-524f-11ce-9f53-0020af0ba770}"
"0"="0,4,,52494646,8,4,,57415645"
[HKEY_CLASSES_ROOT\Media Type\{e436eb83-524f-11ce-9f53-0020af0ba770}\{e436eb88-524f-11ce-9f53-0020af0ba770}]
"Source Filter"="{e436ebb5-524f-11ce-9f53-0020af0ba770}"
"0"="0,4,,52494646,8,4,,41564920"
と同じキーが4つも定義されちょるが、ここで定義しているSource Filter は、Media Type の CLSID とおんなじみたいです。ちなみに、dll群をregsvrした後の状態だと、これらのレジストリは既にセットされてました。
ふむ。んじゃ .mp4\Subtype はっていうと…
[HKEY_CLASSES_ROOT\CLSID\{0FB94513-7814-49BC-A119-CE64332402BA}\Pins\Input\Types\{e436eb83-524f-11ce-9f53-0020af0ba770}\{E1E0DBBB-AEEE-4188-ABD4-CD896062375E}]
@=""
ここでは、.mp4\Media Type + Subtype として何かを定義しちょる。んじゃ何を定義しているのかっていうと…
[HKEY_CLASSES_ROOT\CLSID\{0FB94513-7814-49BC-A119-CE64332402BA}]
@="NVIDIA OEM Source Filter"
[HKEY_CLASSES_ROOT\CLSID\{0FB94513-7814-49BC-A119-CE64332402BA}\Pins\Input]
"Direction"=dword:0
"IsRendered"=dword:0
"AllowedZero"=dword:0
"AllowedMany"=dword:0
"ConnectsToPin"="Output"
[HKEY_CLASSES_ROOT\CLSID\{0FB94513-7814-49BC-A119-CE64332402BA}\InprocServer32]
"ThreadingModel"="Both"
@="OEMSourceFilter.dll"
はぁ。名前の通り Source Filter を定義してます。
んじゃ、ここまでのレジストリをEM-ONEに切ってみますよー
えっと、んじゃこれから dll 経由でおっかけてみます。
まずは、NvH264Transform.dll
; これはあった
[HKEY_CLASSES_ROOT\Filter\{1B0E2EAA-4B00-421C-B746-2F8E210CEBEF}]
@="NVIDIA H264 Transform"
[HKEY_CLASSES_ROOT\CLSID\{1B0E2EAA-4B00-421C-B746-2F8E210CEBEF}\Pins\Output]
"Direction"=dword:1
"IsRendered"=dword:1
"AllowedZero"=dword:0
"AllowedMany"=dword:0
"ConnectsToPin"="Input"
[HKEY_CLASSES_ROOT\CLSID\{1B0E2EAA-4B00-421C-B746-2F8E210CEBEF}\Pins\Output\Types\{73646976-0000-0010-8000-00AA00389B71}\{e436eb7b-524f-11ce-9f53-0020af0ba770}]
@=""
[HKEY_CLASSES_ROOT\CLSID\{1B0E2EAA-4B00-421C-B746-2F8E210CEBEF}\Pins\Input]
"Direction"=dword:0
"IsRendered"=dword:0
"AllowedMany"=dword:0
"ConnectsToPin"="Output"
[HKEY_CLASSES_ROOT\CLSID\{1B0E2EAA-4B00-421C-B746-2F8E210CEBEF}\Pins\Input\Types\{73646976-0000-0010-8000-00AA00389B71}\{DF3194AE-B3CA-485d-B344-BFE28466BF5B}]
@=""
; これはあった
[HKEY_CLASSES_ROOT\CLSID\{1B0E2EAA-4B00-421C-B746-2F8E210CEBEF}\InprocServer32]
"ThreadingModel"="Both"
@="NvH264Transform.dll"
なかったヤツを登録
とか、ゴロゴロやってたら
細かい手順は後でまとめますが、とにかく出ました。AVCの動画が。
しかも、一度WMVを再生した後で再生しないと固まります。あと、なんだかアホみたいに遅い。
どうすんだこれ?
■番外編
全然関係ないけど、"Render"で検索してたら、こんなレジストリキーが…
[HKEY_LOCAL_MACHINE\Software\Microsoft\MediaPlayer\Preferences]
"VideoOverlayKeyColor"=dword:00181818
"BlockShellLock"=dword:00000006
"RenderGDI"=dword:00000001
この "RenferGDI" を 0 にして、WMPを全画面にすると、あら不思議。今までの倍位の表示速度に。
EM-ONEでは、表示が横になって(しかも逆方向)、全画面以外はWMPのスキン表示を破壊します。
ありゃりゃ。