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 デコーダーでは、次の形式を使用できます。

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 電力レベルを指定します。
Windows 7。
書き込み専用です。
100
CODECAPI_AVDecVideoThumbnailGenerationMode サムネイル生成モードを指定します。
Windows 7。
書き込み専用です。
VARIANT_FALSE

 

解説

RGB メディア サブタイプのグローバル一意識別子 (GUID) は、デコーダーが DMO または MFT のどちらとして機能するかによって異なります。 RGB 以外のメディア サブタイプの GUID は、デコーダーが DMO または MFT のどちらとして機能するかに関係なく同じです。 メディア サブタイプを表す GUID について詳しくは、「メディアの種類」を参照してください。

要件

要件 Value
サポートされている最小のクライアント
Windows 7 [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows Server 2008 R2 [デスクトップ アプリのみ]
ヘッダー
Wmcodecdsp.h
[DLL]
MP4SDecd.dll

関連項目

コーデック オブジェクト