次の方法で共有


ドルビー オーディオ デコーダー

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 のみです。 それ以外の場合、値は次のようになります。
  • ステレオ ダウンミックスの場合は 2
  • 5.1 チャネル構成の場合は 6
  • 7.1 チャネル構成の場合は 8
MF_MT_AUDIO_CHANNEL_MASK スピーカーの位置へのオーディオ チャネルの割り当てを指定します。 チャネル数が 2 より大きい場合は、PCM 出力に必要です。 値は次の値である必要があります。
  • ステレオ出力の0x3
  • 5.1 チャンネル出力の0x3F
  • 7.1 チャンネル出力の0x63F
デジタル出力には必要ありません。
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]
Msauddecmft.dll

関連項目

コーデック オブジェクト