Microsoft DirectX 8.0

メディア タイプ

Microsoft® DirectShow® では、AM_MEDIA_TYPE 構造体を使ってメディア サンプルを記述する。この構造体には、メジャー タイプ、サブタイプ、およびフォーマット タイプGUID メンバのほかに、サンプルが圧縮されているかどうかなど、サンプルのその他の特性を示すフィールドが含まれている。このトピックでは、DirectShow によって登録されるメジャー タイプおよびサブタイプのオプションの概要について説明する。これらのメディア タイプは、Uuids.h で定義されている。

このトピックは、以下のセクションで構成される。

メジャー タイプ

次の表は、メジャー メディア タイプを示している。

GUID説明
MEDIATYPE_AnalogAudioアナログ オーディオ。
MEDIATYPE_AnalogVideoアナログ ビデオ。
MEDIATYPE_Audioオーディオ。
MEDIATYPE_AUXLine21DataLine 21 データ。クローズド キャプションによって使用される。
MEDIATYPE_Fileファイル。クローズド キャプションによって使用される。
MEDIATYPE_Interleavedインターリーブ。デジタル ビデオ (DV) によって使用される。
MEDIATYPE_LMRT廃止。使用しないこと。
MEDIATYPE_MidiMIDI フォーマット。
MEDIATYPE_MPEG2_PESMPEG-2。DVD によって使用される。
MEDIATYPE_ScriptCommandデータは、クローズド キャプションによって使用されるスクリプト コマンドである。
MEDIATYPE_Streamタイム スタンプのないバイト ストリーム。
MEDIATYPE_Textテキスト。
MEDIATYPE_Timecodeタイムコード データ。
MEDIATYPE_URL_STREAM廃止。使用しないこと。
MEDIATYPE_Videoビデオ。

オーディオ サブタイプ

次の表は、オーディオ メディア サブタイプを示している。

GUID説明
MEDIASUBTYPE_PCMAudioPCM オーディオ
MEDIASUBTYPE_PCMAudioObsolete廃止。使用しないこと。
MEDIASUBTYPE_MPEG1PacketMPEG1 オーディオ パケット
MEDIASUBTYPE_MPEG1PayloadMPEG1 オーディオ ペイロード

WAVEFORMATEX 構造体の wFormatTag フィールドは、オーディオ フォーマット タイプを指定する。一般的にフォーマット タイプは、FORMAT_WaveFormatEx である。メディア サンプルは、一般的に、WAVEFORMATEX 構造体の wBitsPerSample フィールドで指定されるサンプル全体である。この条件は、元がパケット化されたストリームである可能性があり、したがって、必ずしもサンプル/フレーム境界上にパッケージされていない MPEG オーディオ サンプルには当てはまらない。MPEG オーディオの場合、メディア サンプルのタイム スタンプは、フレームの最初のバイトがメディア サンプルに含まれている最初のフレームのタイム スタンプである。

それぞれの wFormatTag に対応するメディア サブタイプの定義を次に示す。

したがって、PCM オーディオのサブタイプ GUID は、次のようになる。

{00000001-0000-0010-8000-00AA00389B71}

古いフィルタでは、GUID_NULL をサブタイプとして使用していることがあるため、これをチェックする必要がある。ただし、明示的なサブタイプを使ってフィルタを登録すると、特に特定のフィルタが必要とされていない場合は、グラフの読み込み速度が大幅に向上する。CreateAudioMediaType 関数を使って、WAVEFORMATEX 構造体から AM_MEDIA_TYPE 構造体を作成できる。

Line 21 サブタイプ

次の表は、Line 21 クローズド キャプション メディア サブタイプを示している。

GUID説明
MEDIASUBTYPE_Line21_BytePair バイト ペアとしての Line 21 データ
MEDIASUBTYPE_Line21_GOPPacket DVD GOP パケットの Line 21 データ
MEDIASUBTYPE_Line21_VBIRawData 生の VBI フォーマットの Line 21 データ

MPEG-2 サブタイプ

次の表は、MPEG-2 メディア サブタイプを示している。

GUID説明
MEDIASUBTYPE_DVD_SUBPICTURE サブピクチャ データ
MEDIASUBTYPE_DOLBY_AC3 Dolby データ
MEDIASUBTYPE_MPEG2_AUDIO MPEG-2 オーディオ データ
MEDIASUBTYPE_DVD_LPCM_AUDIO DVD オーディオ データ
MEDIASUBTYPE_MPEG2_TRANSPORT MPEG-2 トランスポート ストリーム
MEDIASUBTYPE_MPEG2_PROGRAM MPEG2 番組ストリーム

ストリーム サブタイプ

次の表は、ストリーム メディア サブタイプを示している。

GUID説明
MEDIASUBTYPE_AIFFAIFF ファイルのデータ
MEDIASUBTYPE_AsfASF (Advanced Streaming Format)
MEDIASUBTYPE_AviAVI ファイルのデータ
MEDIASUBTYPE_AUAU ファイルのデータ
MEDIASUBTYPE_DssAudioDss Audio
MEDIASUBTYPE_DssVideoDss Video
MEDIASUBTYPE_MPEG1AudioMPEG オーディオ
MEDIASUBTYPE_MPEG1SystemMPEG システム
MEDIASUBTYPE_MPEG1SystemStream廃止。使用しないこと。
MEDIASUBTYPE_MPEG1VideoMPEG ビデオ
MEDIASUBTYPE_MPEG1VideoCDMPEG ビデオ CD
MEDIASUBTYPE_WAVEWAV ファイルのデータ

タイム スタンプは、リアル タイムではなく、バイト位置 * 10000000 (1 秒につき 1 バイト) である。

ビデオ サブタイプ

次の表は、ビデオ メディア サブタイプを示している。

GUID説明
MEDIASUBTYPE_YVU9 標準 YVU9 フォーマット非圧縮データ。平面 YUV フォーマット。すべての水平ラインのすべてのピクセルで Y のサンプリングを行い、4 ピクセルごとに U と V のサンプリングを行う。すべての垂直ラインで Y のサンプリングを行い、垂直ライン 4 本ごとに U と V のサンプリングを行う。1 ピクセルにつき 9 ビット。
MEDIASUBTYPE_Y411 YUV 411 フォーマット データ。Y41P と同じ。
MEDIASUBTYPE_Y41P Y41P フォーマット データ。パックされた YUV フォーマット。すべての水平ラインのすべてのピクセルで Y のサンプリングを行い、4 ピクセルごとに U と V のサンプリングを行う。すべての垂直ラインをサンプリングする。バイトの順序は、最下位から順に、U0、Y0、V0、Y1、U4、Y2、V4、Y3、Y4、Y5、Y6、Y7 であり、サフィックス 0 は左端のピクセルで、番号が大きいほどピクセルは右寄りになる。12 バイトのブロックが 8 画像ピクセルに相当する。
MEDIASUBTYPE_YUY2 YUY2 フォーマット データ。ピクセルの順序を除いて UYVY と同じ。バイトの順序は、最下位から順に、Y0、U0、Y1、V0、Y2、U2、Y3、V2、Y4、U4、Y5、V4 であり、サフィックス 0 は左端のピクセルで、番号が大きいほどピクセルは右寄りになる。4 バイトのブロックが 2 画像ピクセルに相当する。
MEDIASUBTYPE_YVYU YVYU フォーマット データ。パックされた YUV フォーマット。ピクセルの順序を除いて UYVY と同じ。バイトの順序は、最下位から順に、Y0、V0、Y1、U0、Y2、V2、Y3、U2、Y4、V4、Y5、U4 であり、サフィックス 0 は左端のピクセルで、番号が大きいほどピクセルは右寄りになる。4 バイトのブロックが 2 画像ピクセルに相当する。
MEDIASUBTYPE_UYVY UYVY フォーマット データ。パックされた YUV フォーマット。すべての水平ラインのすべてのピクセルで Y のサンプリングを行い、2 ピクセルごとに U と V のサンプリングを行う。すべての垂直ラインをサンプリングする。さまざまな YUV 4:2:2 フォーマットの中でも最もよく使われている。バイトの順序は、最下位から順に、U0、Y0、V0、Y1、U2、Y2、V2、Y3、U4、Y4、V4、Y5 であり、サフィックス 0 は左端のピクセルで、番号が大きいほどピクセルは右寄りになる。4 バイトのブロックが 2 画像ピクセルに相当する。
MEDIASUBTYPE_Y211 YUV 211 フォーマット データ。パックされた YUV フォーマット。すべての水平ラインで 2 ピクセルごとに Y のサンプリングを行い、4 ピクセルごとに U と V のサンプリングを行う。すべての垂直ラインをサンプリングする。バイトの順序は、最下位から順に、Y0、U0、Y2、V0、Y4、U4、Y6、V4、Y8、U8、Y10、V8 であり、サフィックス 0 は左端のピクセルで、番号が大きいほどピクセルは右寄りになる。4 バイト のブロックが 4 画像ピクセルに相当する。
MEDIASUBTYPE_CLJR Y、U、V サンプル 1 つにつき 8 ビット未満の Cirrus Logic Jr YUV 411 フォーマット。Cinepak ではこれを生成でき、Cirrus 5440 ではこれを使ってオーバレイを生成できる。すべての水平ラインのすべてのピクセルで Y のサンプリングを行い、4 ピクセルごとに U と V のサンプリングを行う。すべての垂直ラインをサンプリングする。
MEDIASUBTYPE_IF09 最後のフレームとの差異に関する追加情報が含まれた、Indeo で生成される YVU9 フォーマット。1 ピクセルにつき 9.5 ビットであるが、9 として報告される。
MEDIASUBTYPE_CPLA Cinepak UYVY フォーマット。
MEDIASUBTYPE_MJPG Motion JPEG (MJPG) 圧縮ビデオ。
MEDIASUBTYPE_TVMJ TrueVision MJPG フォーマット。
MEDIASUBTYPE_WAKE 一部のカードによって生成される MJPG フォーマット。
MEDIASUBTYPE_CFCC 一部のカードによって生成される MJPG フォーマット。
MEDIASUBTYPE_IJPG Intergraph JPEG フォーマット。
MEDIASUBTYPE_Plum Plum MJPG フォーマット。
MEDIASUBTYPE_RGB1 1 ピクセルにつき RGB 1 ビット。パレット化されている。
MEDIASUBTYPE_RGB4 1 ピクセルにつき RGB 4 ビット。パレット化されている。
MEDIASUBTYPE_RGB8 1 ピクセルにつき RGB 8 ビット。パレット化されている。
MEDIASUBTYPE_RGB565 RGB の 565 フォーマット、1 ピクセルにつき 16 ビット。非圧縮 RGB サンプル。
MEDIASUBTYPE_RGB555 RGB の 555 フォーマット、1 ピクセルにつき 16 ビット。非圧縮 RGB サンプル。
MEDIASUBTYPE_RGB24 1 ピクセルにつき RGB 24 ビット。非圧縮 RGB サンプル。
MEDIASUBTYPE_RGB32 1 ピクセルにつき RGB 32 ビット。非圧縮 RGB サンプル。このメディア タイプではアルファ ビットは使用しないこと (MEDIASUBTYPE_ARGB32 と比較)。
MEDIASUBTYPE_ARGB32 1 ピクセルにつき ARGB 32 ビット。有効なアルファ ビットを持つ非圧縮 RGB サンプル。
MEDIASUBTYPE_Overlay ハードウェア オーバーレイを使って配信されるビデオ。
MEDIASUBTYPE_QTMovie Apple® QuickTime® 圧縮。
MEDIASUBTYPE_QTRpza Quicktime RPZA 圧縮データ。
MEDIASUBTYPE_QTSmc Quicktime SMC 圧縮データ。
MEDIASUBTYPE_QTRle Quicktime RLE 圧縮データ。
MEDIASUBTYPE_QTJpeg Quicktime JPEG 圧縮データ。
MEDIASUBTYPE_dvsd 標準 DV フォーマット。
MEDIASUBTYPE_dvhd 高品位 DV フォーマット。
MEDIASUBTYPE_dvsl ロング プレイ DV フォーマット。
MEDIASUBTYPE_MPEG1Packet MPEG1 ビデオ パケット。
MEDIASUBTYPE_MPEG1Payload MPEG1 ビデオ ペイロード。
MEDIASUBTYPE_VideoPortDVD で使用されるビデオ ポート データ。
MEDIASUBTYPE_VPVideoビデオ ポート ビデオ データ。
MEDIASUBTYPE_VPVBIビデオ ポート垂直同期間隔 (VBI) データ。

アナログ ビデオ サブタイプ

以下のアナログ ビデオ フォーマットは Microsoft® ActiveMovie® 1.0 で導入されたが、現在は使われていない。その代わりに、IAMAnalogVideoDecoder インターフェイスと IAMTVTuner インターフェイスは、AnalogVideoStandard 列挙を使用する。
GUID説明
MEDIASUBTYPE_AnalogVideo_NTSC_M(M) NSTC
MEDIASUBTYPE_AnalogVideo_PAL_B(B) PAL
MEDIASUBTYPE_AnalogVideo_PAL_D(D) PAL
MEDIASUBTYPE_AnalogVideo_PAL_G(G) PAL
MEDIASUBTYPE_AnalogVideo_PAL_H(H) PAL
MEDIASUBTYPE_AnalogVideo_PAL_I(I) PAL
MEDIASUBTYPE_AnalogVideo_PAL_M(M) PAL
MEDIASUBTYPE_AnalogVideo_PAL_N(N) PAL
MEDIASUBTYPE_AnalogVideo_SECAM_B(B) SECAM
MEDIASUBTYPE_AnalogVideo_SECAM_D(D) SECAM
MEDIASUBTYPE_AnalogVideo_SECAM_G(G) SECAM
MEDIASUBTYPE_AnalogVideo_SECAM_H(H) SECAM
MEDIASUBTYPE_AnalogVideo_SECAM_K(K) SECAM
MEDIASUBTYPE_AnalogVideo_SECAM_K1(K1) SECAM
MEDIASUBTYPE_AnalogVideo_SECAM_L(L) SECAM