Microsoft DirectX 8.0 |
Microsoft® DirectShow® では、AM_MEDIA_TYPE 構造体を使ってメディア サンプルを記述する。この構造体には、メジャー タイプ、サブタイプ、およびフォーマット タイプの GUID メンバのほかに、サンプルが圧縮されているかどうかなど、サンプルのその他の特性を示すフィールドが含まれている。このトピックでは、DirectShow によって登録されるメジャー タイプおよびサブタイプのオプションの概要について説明する。これらのメディア タイプは、Uuids.h で定義されている。
このトピックは、以下のセクションで構成される。
次の表は、メジャー メディア タイプを示している。
GUID | 説明 |
---|---|
MEDIATYPE_AnalogAudio | アナログ オーディオ。 |
MEDIATYPE_AnalogVideo | アナログ ビデオ。 |
MEDIATYPE_Audio | オーディオ。 |
MEDIATYPE_AUXLine21Data | Line 21 データ。クローズド キャプションによって使用される。 |
MEDIATYPE_File | ファイル。クローズド キャプションによって使用される。 |
MEDIATYPE_Interleaved | インターリーブ。デジタル ビデオ (DV) によって使用される。 |
MEDIATYPE_LMRT | 廃止。使用しないこと。 |
MEDIATYPE_Midi | MIDI フォーマット。 |
MEDIATYPE_MPEG2_PES | MPEG-2。DVD によって使用される。 |
MEDIATYPE_ScriptCommand | データは、クローズド キャプションによって使用されるスクリプト コマンドである。 |
MEDIATYPE_Stream | タイム スタンプのないバイト ストリーム。 |
MEDIATYPE_Text | テキスト。 |
MEDIATYPE_Timecode | タイムコード データ。 |
MEDIATYPE_URL_STREAM | 廃止。使用しないこと。 |
MEDIATYPE_Video | ビデオ。 |
次の表は、オーディオ メディア サブタイプを示している。
GUID | 説明 |
---|---|
MEDIASUBTYPE_PCMAudio | PCM オーディオ |
MEDIASUBTYPE_PCMAudioObsolete | 廃止。使用しないこと。 |
MEDIASUBTYPE_MPEG1Packet | MPEG1 オーディオ パケット |
MEDIASUBTYPE_MPEG1Payload | MPEG1 オーディオ ペイロード |
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 クローズド キャプション メディア サブタイプを示している。
GUID | 説明 |
---|---|
MEDIASUBTYPE_Line21_BytePair | バイト ペアとしての Line 21 データ |
MEDIASUBTYPE_Line21_GOPPacket | DVD GOP パケットの Line 21 データ |
MEDIASUBTYPE_Line21_VBIRawData | 生の VBI フォーマットの Line 21 データ |
次の表は、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_AIFF | AIFF ファイルのデータ |
MEDIASUBTYPE_Asf | ASF (Advanced Streaming Format) |
MEDIASUBTYPE_Avi | AVI ファイルのデータ |
MEDIASUBTYPE_AU | AU ファイルのデータ |
MEDIASUBTYPE_DssAudio | Dss Audio |
MEDIASUBTYPE_DssVideo | Dss Video |
MEDIASUBTYPE_MPEG1Audio | MPEG オーディオ |
MEDIASUBTYPE_MPEG1System | MPEG システム |
MEDIASUBTYPE_MPEG1SystemStream | 廃止。使用しないこと。 |
MEDIASUBTYPE_MPEG1Video | MPEG ビデオ |
MEDIASUBTYPE_MPEG1VideoCD | MPEG ビデオ CD |
MEDIASUBTYPE_WAVE | WAV ファイルのデータ |
タイム スタンプは、リアル タイムではなく、バイト位置 * 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_VideoPort | DVD で使用されるビデオ ポート データ。 |
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 |