Dolby オーディオ デコーダーは、次のストリームの種類をデコードする Media Foundation 変換 (MFT) です。
- ドルビーデジタル、ドルビーAC-3とも呼ばれる
- ドルビー デジタル プラス、拡張 AC-3 (E-AC-3) とも呼ばれます
重要
Windows 8 より前のバージョンの Windows の場合、Dolby Digital テクノロジの Microsoft 実装は、Microsoft アプリケーションで使用する Dolby Digital ライセンス プログラムの条件に基づき制限されます。
これらの形式の詳細については、高度なテレビシステム委員会 (ATSC) ドキュメント デジタル オーディオ圧縮標準 (AC-3、E-AC-3) リビジョン B を参照してください。
デコーダーは、ドルビーデジタルプラスストリームをAC-3 S/PIDF出力用のドルビーデジタルフォーマットに変換したり、HDMIデジタル出力用にドルビーデジタルプラスストリームをフォーマットすることもできます。
クラス識別子
Dolby オーディオ デコーダーのクラス識別子 (CLSID) が CLSID_CMSDDPlusDecMFTされ、ヘッダー ファイル wmcodecdsp.h で定義されます。
入力の種類
Dolby オーディオ デコーダーでは、次の入力サブタイプがサポートされています。
Subtype | 説明 | ヘッダー |
---|---|---|
MEDIASUBTYPE_DOLBY_AC3 | ドルビーデジタルオーディオ。 | mfapi.h |
MEDIASUBTYPE_DVM | ドルビーデジタルオーディオ; オーディオ サブタイプに関するページを参照してください。 このサブタイプは、 MEDIASUBTYPE_DOLBY_AC3と同じ意味で使用できます。 |
wmcodecdsp.h |
MFAudioFormat_Dolby_Digital_Plus | ドルビーデジタルプラスオーディオ。 | mfapi.h |
次の表に、入力メディアの種類の必須属性と省略可能な属性を示します。
属性 | 説明 | 解説 |
---|---|---|
MF_MT_MAJOR_TYPE | メジャー型。 | 必須。 MFMediaType_Audioする必要があります。 |
MF_MT_SUBTYPE | オーディオ サブタイプ。 | 必須。 詳細については、前の表を参照してください。 |
MF_MT_AUDIO_SAMPLES_PER_SECOND | サンプル レート (1 秒あたりのサンプル数)。 | 任意。 有効な値は、48000、44100、32000、24000、22050、16000 です。 この属性が設定されていない場合、既定値は 48000 です。 メモ: ドルビーAC-3ストリームは、このリストの中で最も高い3つのレートに制限されています。 |
MF_MT_AUDIO_NUM_CHANNELS | 低周波数 (LFE) チャネルを含むチャネルの数 (存在する場合)。 | 省略可能。 有効な値は、1 (mono) から 8 (7.1 チャネル構成) の範囲です。 この属性が設定されていない場合、既定値は 2 (ステレオ) です。 |
MF_MT_AUDIO_CHANNEL_MASK | スピーカーの位置へのオーディオ チャネルの割り当てを指定します。 | 省略可能。 指定した場合、値はオーディオ チャネルの数と一致している必要があります。 属性が設定されていない場合、デコーダーはチャネルの数に基づいて既定のチャネル マスクを使用します。 |
次の表に、サポートされている Dolby チャネルの構成を示します。
チャネルの構成 | チャネルの数 | チャネル マスク |
---|---|---|
1/0 (mono) | 1 | 0x4 (SPEAKER_FRONT_CENTER) |
2/0 (ステレオ) または 1 +1 (デュアル モノ) | 2 | 0x3 (SPEAKER_FRONT_LEFTSPEAKER_FRONT_RIGHT) |
3/0 | 3 | 0x7 (SPEAKER_FRONT_LEFTSPEAKER_FRONT_RIGHTSPEAKER_FRONT_CENTER) |
2/1 | 3 | 0x103 (SPEAKER_FRONT_LEFTSPEAKER_FRONT_RIGHTSPEAKER_BACK_CENTER) |
3/1 | 4 | 0x107 (SPEAKER_FRONT_LEFTSPEAKER_FRONT_RIGHT SPEAKER_FRONT_CENTERSPEAKER_BACK_CENTER) |
2/2 | 4 | 0x33 (SPEAKER_FRONT_LEFTSPEAKER_FRONT_RIGHTSPEAKER_BACK_LEFTSPEAKER_BACK_RIGHT) or 0x603 (SPEAKER_FRONT_LEFTSPEAKER_FRONT_RIGHT SPEAKER_SIDE_LEFTSPEAKER_SIDE_RIGHT) |
3/2 | 5 | 0x37 (SPEAKER_FRONT_LEFTSPEAKER_FRONT_RIGHT SPEAKER_FRONT_CENTERSPEAKER_BACK_LEFTSPEAKER_BACK_RIGHT) or 0x607 (SPEAKER_FRONT_LEFT SPEAKER_FRONT_RIGHTSPEAKER_FRONT_CENTERSPEAKER_SIDE_LEFTSPEAKER_SIDE_RIGHT) |
3/2 + LFE | 6 | 0x3F (SPEAKER_FRONT_LEFTSPEAKER_FRONT_RIGHTSPEAKER_FRONT_CENTER SPEAKER_LOW_FREQUENCYSPEAKER_BACK_LEFT SPEAKER_BACK_RIGHT) or 0x60F (SPEAKER_FRONT_LEFTSPEAKER_FRONT_RIGHTSPEAKER_FRONT_CENTER SPEAKER_LOW_FREQUENCYSPEAKER_SIDE_LEFT SPEAKER_SIDE_RIGHT) |
3/2/2 + LFE 注: ドルビー デジタル プラスのみ。 |
8 | 0x63F (SPEAKER_FRONT_LEFTSPEAKER_FRONT_RIGHTSPEAKER_FRONT_CENTER SPEAKER_LOW_FREQUENCYSPEAKER_BACK_LEFTSPEAKER_BACK_RIGHT SPEAKER_SIDE_LEFTSPEAKER_SIDE_RIGHT) |
さらに、チャネル構成 1/0、2/0、3/0、2/1、3/1、2/2 も LFE チャネルと共に表示される場合があります。
出力の種類
Dolby オーディオ デコーダーでは、次の出力サブタイプがサポートされています。
Subtype | 説明 | ヘッダー |
---|---|---|
MFAudioFormat_Dolby_AC3_SPDIF | S/PDIFデジタル出力用にフォーマットされたドルビーAC-3オーディオ。 | mfapi.h |
KSDATAFORMAT_SUBTYPE_IEC61937_DOLBY_DIGITAL_PLUS | HDMIデジタル出力用にフォーマットされたドルビーデジタルプラスオーディオ。 | ksmedia.h |
MFAudioFormat_Float | IEEE 32 ビット浮動小数点 PCM オーディオ Windows 10: ステレオ、5.1、7.1 以前のバージョン: ステレオ、5.1 |
mfapi.h |
MFAudioFormat_PCM | 16 ビット PCM オーディオ Windows 10: ステレオ、5.1、7.1 以前のバージョン: ステレオ、5.1 |
mfapi.h |
次の表に、出力メディアの種類に必要な属性と省略可能な属性を示します。
属性 | 説明 | 解説 |
---|---|---|
MF_MT_MAJOR_TYPE | メジャー型。 | 必須。 MFMediaType_Audioする必要があります。 |
MF_MT_SUBTYPE | オーディオ サブタイプ。 | 必須。 詳細については、前の表を参照してください。 |
MF_MT_AUDIO_SAMPLES_PER_SECOND | サンプル レート (1 秒あたりのサンプル数)。 | 必須。 有効な値は、48000、44100、32000、24000、22050、16000 です。 出力サンプル レートは、入力サンプル レートと同じである必要があります。 デコーダーはストリームのサンプリング レートを変更できません。 |
MF_MT_AUDIO_NUM_CHANNELS | 低周波数 (LFE) チャネルを含むチャネルの数 (存在する場合)。 | PCM 出力に必要です。 デジタル出力には必要ありません。 入力の種類がモノラル、ステレオ、またはデュアル モノ (すべて LFE チャネルなし) の場合、ステレオ出力の有効な値は 2 のみです。 それ以外の場合、値は次のようになります。
|
MF_MT_AUDIO_CHANNEL_MASK | スピーカーの位置へのオーディオ チャネルの割り当てを指定します。 | チャネル数が 2 より大きい場合は、PCM 出力に必要です。 値は次の値である必要があります。
|
MF_MT_AUDIO_BITS_PER_SAMPLE | オーディオ サンプルあたりのビット数。 | PCM 出力に必要です。 値は、 MFAudioFormat_Floatの場合は 32、 MFAudioFormat_PCMの場合は 16 である必要があります。 デジタル出力には必要ありません。 |
MF_MT_AUDIO_VALID_BITS_PER_SAMPLE | 各オーディオ サンプル内の有効なオーディオ データのビット数。 | PCM 出力の場合は省略可能です。 設定する場合、値は MF_MT_AUDIO_BITS_PER_SAMPLEと同じである必要があります。 デジタル出力サブタイプには必要ありません。 |
MF_MT_AUDIO_BLOCK_ALIGNMENT | ブロックの配置 (バイト単位)。 | PCM 出力の場合は省略可能です。 デジタル出力には必要ありません。 |
MF_MT_AUDIO_AVG_BYTES_PER_SECOND | 1 秒あたりの平均バイト数。 | PCM 出力の場合は省略可能です。 デジタル出力には必要ありません。 |
属性の変換
Dolby オーディオ デコーダーは、 IMFTransform::GetAttributes メソッドを実装します 。 アプリケーションでは、このメソッドを使用して、次の属性を取得または設定できます。
属性 | 説明 |
---|---|
CODECAPI_AVDecAudioDualMono | 2 チャンネルの Dolby オーディオ ストリームをステレオまたはデュアル モノとしてエンコードするかどうかを指定します。 最初のドルビー フレームがデコードされる前に、値が eAVDecAudioDualMono_UnSpecifiedされます。 デコードが開始されると、値は最新のドルビー フレームを反映します。 読み取り専用です。 |
CODECAPI_AVDecAudioDualMonoReproMode | デコーダーがデュアル モノラル オーディオを再現する方法を指定します。 既定値は eAVDecAudioDualMonoReproMode_LEFT_MONO です。 アプリケーションは、このプロパティをいつでも設定できます。 読み取りと書き込みが可能です。 |
CODECAPI_AVDecCommonMeanBitRate | Dolby Digital (AC-3) ストリームの場合、入力ストリームのビット レートを 1 秒あたりのビット数で指定します。 Dolby Digital Plus (E-AC3) の場合、値は常に 0 です。 読み取り専用。 |
CODECAPI_AVDecDDDynamicRangeScaleHigh | デコーダーがダイナミックレンジ制御を行うときのハイレベルカット。 読み取りと書き込みが可能です。 |
CODECAPI_AVDecDDDynamicRangeScaleLow | デコーダーがダイナミックレンジ制御を行うときの低レベルブースト。 読み取りと書き込みが可能です。 |
CODECAPI_AVDecDDOperationalMode | 圧縮制御モード。 読み取りと書き込みが可能です。 |
CODECAPI_AVDecDDStereoDownMixMode | ステレオ ダウンミックスの種類。 このプロパティは、入力がマルチチャネル ストリームで、出力がステレオ ストリームである場合に適用されます。 読み取りと書き込みが可能です。 |
MFT_SUPPORT_DYNAMIC_FORMAT_CHANGE | この属性は FALSE を返します。これは、新しい入力型が設定される前にデコーダーをドレインする必要があることを示します。 読み取りと書き込みが可能です。 |
注釈
デコーダーは、A/52B で定義されている生の Dolby ストリームのみを受け入れます。 パケット化された基本ストリーム (PES) などのペイロードはサポートされていません。 Dolby Digital Plus の場合、デコーダーは最大 5.1 チャネルをデコードします。 Windows 10では、7.1 チャネル ストリームはダウンミックスなしでデコードされます。 以前の OS バージョンでは、ストリームが 7.1 チャネルの場合、5.1 チャネルダウンミックスのみがデコードされます。 ストリームが複数の独立したサブストリームを持つ Dolby Digital Plus の場合は、独立したサブストリーム 0 のみがデコードされます。 デコーダーは、他の独立したサブストリームをスキップします。 さらに、デコーダーは依存するすべてのサブストリームをスキップします。 デコーダーは、Digital Rights Management (DRM) テクノロジによって保護されているストリームの復号化とデコードをサポートしています。
入力メディアの種類にモノラル、ステレオ、デュアルモノ以外のチャネル構成がある場合 (すべて LFE チャネルを使用しない場合)、デコーダーは出力チャネル構成に次の 2 つのオプションを提供します。
- 8 チャネル出力 (7.1 チャネル構成)
- 6 チャネル出力 (5.1 チャネル構成)
- ステレオ ダウンミックス
ステレオ ダウンミックスが選択されている場合は、 CODECAPI_AVDecDDStereoDownMixMode プロパティを使用して MFT でダウンミックスの種類を設定できます。
出力の種類が MFAudioFormat_Dolby_AC3_SPDIF場合、各出力バッファーには 6,144 バイトが含まれます。 バッファーは 8 バイトの S/PDIF ヘッダーで始まり、その後に圧縮 AC-3 フレームが続き、6,144 バイトへの埋め込みが 0 になります。
出力の種類が KSDATAFORMAT_SUBTYPE_IEC61937_DOLBY_DIGITAL_PLUSの場合、各出力バッファーには 24,576 バイトが含まれます。 バッファーは 8 バイトの S/PDIF ヘッダーで始まり、その後に 1,536 個の PCM サンプルに対応する 1 ~ 6 個の圧縮された Dolby Digital Plus フレームが続き、24,576 バイトの埋め込みがゼロになります。 HDMI 出力の場合、独立したサブストリーム 0 のみがパックされます。
デコーダー MFT はフラグ MFT_ENUM_FLAG_FIELDOFUSEに登録されます。これは、使用する前にアプリケーションでロックを解除する必要がある MFT を示します。 詳細については、「 使用制限のフィールド」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows 8 [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー |
サポートなし |
[DLL] |
|
関連項目