MPEG-4 Part 2 Video デコーダー
MPEG4 Part 2 Video デコーダーを使用すると、MPEG4 Part 2 標準に従ってエンコードされたビデオ ストリームをデコードできます。
MPEG4 Part 2 Video デコーダーのインスタンスは、CoCreateInstance を呼び出すことにより作成できます。 DirectX メディア オブジェクト (DMO) として動作するデコーダーのインスタンスを作成するには、クラス識別子 CLSID_CMpeg4sDecMediaObject を使用します。 メディア ファンデーション変換 (MFT) として動作するデコーダーのインスタンスを作成するには、クラス識別子 CLSID_CMpeg4sDecMFT を使用します。
入力の種類
MPEG4 Part 2 Video デコーダーによってサポートされている入力メディアの種類は、次のとおりです。
- MEDIASUBTYPE_M4S2
- MEDIASUBTYPE_m4s2
- MEDIASUBTYPE_MP4V
- MEDIASUBTYPE_mp4v
- MEDIASUBTYPE_MP4S (非推奨)
- MEDIASUBTYPE_mp4s (非推奨)
出力の種類
MPEG4 Part 2 Video デコーダーが DMO として機能する場合は、次の出力メディア サブタイプがサポートされます。
- MEDIASUBTYPE_YV12
- MEDIASUBTYPE_NV12
- MEDIASUBTYPE_YUY2
- MEDIASUBTYPE_UYVY
- MEDIASUBTYPE_YVYU
- MEDIASUBTYPE_NV11
- MEDIASUBTYPE_RGB32
- MEDIASUBTYPE_RGB24
- MEDIASUBTYPE_ RGB565
- MEDIASUBTYPE_RGB555
- MEDIASUBTYPE_RGB8
MPEG4 Part 2 Video デコーダーが MFT として機能する場合は、次の出力メディア サブタイプがサポートされます。
- MEDIASUBTYPE_NV12
- MEDIASUBTYPE_YV12
形式
MPEG4 Part 2 Video デコーダーでは、次の形式を使用できます。
- VIDEOINFOHEADER
- VIDEOINFOHEADER2 (VIH2)
- MFVideoInfo
- MPEG2VIDEOINFO (ヘッダーの VIH2 部分のみが使用されます。)
DMO 用のインターフェイス
MPEG4 Part 2 Video デコーダーのインスタンスを DMO として作成した場合、デコーダーによって次のインターフェイスが公開されます。
IMediaObject インターフェイスを取得するには CoCreateInstance を呼び出します。ICodecAPI インターフェイスを取得するには QueryInterface を呼び出します。
MFT 用のインターフェイス
MPEG2 Part 2 Video デコーダーのインスタンスを MFT として作成した場合、デコーダーによって次のインターフェイスが公開されます。
IMFTransform インターフェイスへのポインターを取得するには CoCreateInstance を呼び出します。IMFAttributes インターフェイスへのポインターを取得するには IMFTransform::GetAttributes を呼び出します。 IMFQualityAdvise または IMFQualityAdvise2 インターフェイスへのポインターを取得するには、MFT に対して QueryInterface を呼び出します。 IMFRateControl または IMFRateSupport インターフェイスへのポインターを取得するには、MFGetService を呼び出して、サービス識別子 MF_RATE_CONTROL_SERVICE を渡します。
プロファイルとレベル
MPEG4 仕様にはプロファイルがいくつか定義されており、エンコードされたストリームを生成するためにエンコーダーで使用できるツールが、それぞれで指定されます。 これらのプロファイルのうち、MPEG4 Part2 Video デコーダーによってサポートされているのは、Simple Visual Profile と Advanced Simple Profile の 2 つです。 つまり、MPEG4 Part 2 Video デコーダーを使用すると、Simple Visual Profile または Advanced Simple Profile のいずれかに従ってエンコードされたストリームをデコードできます。
Simple Visual Profile では、プログレッシブ モードによる低ビット レート ビデオの基本的な伝送をサポートします。 Intra および Prediction 画像のみがサポートされます。 また、H.263 ベースライン プロファイルと下位互換性があるショート ヘッダー モードもサポートされます。 Windows 10 以降、MPEG-4 Part 2 Video デコーダーでは、カスタムの画像サイズをサポートする H.263v2 (H.263 以降) もサポートしています。
Advanced Simple Profile では、Simple Visual Profile のすべてのツールをサポートすると共に、インターレース ビデオ、B フレーム、4 分の 1 画素モーション補正、追加の量子化テーブル、グローバル モーション補正をサポートします。
MPEG4 仕様には、レベルもいくつか定義されており、エンコーダーで生成される出力ストリームに対する制約が、それぞれで指定されます。
次の表に、プロファイルとレベル、さらに MPEG4 Part 2 Video デコーダーでサポートされている一般的な解像度を示します。
プロファイル | Level | 一般的な解像度 |
---|---|---|
Simple Visual | 0 | 176 x 144 |
Simple Visual | 1 | 176 x 144 |
Simple Visual | 2 | 352 x 288 |
Simple Visual | 3 | 352 x 288 |
SimpleVisual | 4a | 640 x 480 |
Simple Visual | 5 | 720 x 576 |
Advanced Simple | 0 | 176 x 144 |
Advanced Simple | 1 | 176 x 144 |
Advanced Simple | 2 | 352 x 288 |
Advanced Simple | 3 | 352 x 288 |
Advanced Simple | 3b | 352 x 288 |
Advanced Simple | 4 | 352 x 756 |
Advanced Simple | 5 | 720 x 576 |
プロファイルとレベルについて詳しくは、MPEG4 Part 2 仕様「(ISO/IEC 14496-2): 情報技術 - 視聴覚オブジェクトのコーディング - Part 2: ビジュアル」を参照してください。
デコーダーのプロパティ
MPEG4 Part 2 Video デコーダーに対してプロパティを設定するには、ICodecAPI インターフェイスまたは IMFAttributes インターフェイスを使用します。
MPEG4 Part 2 Video デコーダーでは、次のプロパティをサポートしています。
プロパティ | Description | Default Value |
---|---|---|
CODECAPI_AVDecVideoSWPowerLevel | 電力レベルを指定します。
書き込み専用です。 |
100 |
CODECAPI_AVDecVideoThumbnailGenerationMode | サムネイル生成モードを指定します。
書き込み専用です。 |
VARIANT_FALSE |
解説
RGB メディア サブタイプのグローバル一意識別子 (GUID) は、デコーダーが DMO または MFT のどちらとして機能するかによって異なります。 RGB 以外のメディア サブタイプの GUID は、デコーダーが DMO または MFT のどちらとして機能するかに関係なく同じです。 メディア サブタイプを表す GUID について詳しくは、「メディアの種類」を参照してください。
要件
要件 | Value |
---|---|
サポートされている最小のクライアント |
Windows 7 [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows Server 2008 R2 [デスクトップ アプリのみ] |
ヘッダー |
|
[DLL] |
|
関連項目