0

一部のマルチメディアフレームワークでは、VC1プロファイルタイプ(AP / SP / MP)やビットストリーム形式(RCV)などの仕様情報をWMVパーサーとWMVデコーダーの間の最初のフレームとして送信します。仕様情報は、WMVデコーダーを初期化するためのものです。

デフォルトのMediaFoundationWMVソースと独自のWMVデコーダーMFTを使用しています。MFTからデータをダンプすると、ビデオデータのみが含まれ、仕様情報は含まれません。ですから、スペック情報は他のインターフェースを使って設定されていると思います。

誰かが私にこれについてのくずメッセージを与えることができますか?

4

1 に答える 1

1

仕様情報では、VC1シーケンスヘッダーを意味する場合は、MF_MT_USER_DATA属性を確認してください。MF Session ManagerがSetOutputType()デコーダーMFTを呼び出すとMF_MT_USER_DATA、blobとして提供されます。次のスニペットはヒントを与えるかもしれません。

HRESULT SetOutputType(DWORD dwStreamID, IMFMediaType* pmt, DWORD dwFlags)
{
   ...

   BYTE* seqData;
   DWORD seqLength;
   HRESULT hr;

   hr = pmt->GetBlobSize(MF_MT_USER_DATA, &seqLength);
   if (SUCCEEDED(hr))
   {
      seqData = (BYTE*) malloc(seqLength);

      if (seqData != NULL)
      {
        hr = pmt->GetBlob(MF_MT_USER_DATA, seqLength, &seqLength);
      }
   }

   /* Use MF_MT_USER_DATA to do something. */

   ...
}
于 2012-06-09T08:03:12.540 に答える