Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il decodificatore audio Dolby è una trasformazione di Media Foundation (MFT) che decodifica i tipi di flusso seguenti:
- Dolby Digital, chiamato anche Dolby AC-3
- Dolby Digital Plus, chiamato anche Enhanced AC-3 (E-AC-3)
Importante
Per le versioni di Windows precedenti a Windows 8, l'implementazione Microsoft della tecnologia Dolby Digital è limitata in base alle condizioni del programma di licenza Dolby Digital da usare dalle applicazioni Microsoft.
Per altre informazioni su questi formati, vedere il documento Advanced Television Systems Committee (ATSC) Digital Audio Compression Standard (AC-3, E-AC-3) Revisione B.
Il decodificatore può anche convertire un flusso Dolby Digital Plus in formato Dolby Digital per l'output S/PIDF AC-3 o formattare un flusso Dolby Digital Plus per l'output digitale HDMI.
Identificatore di classe
L'identificatore di classe (CLSID) del decodificatore audio Dolby è CLSID_CMSDDPlusDecMFT, definito nel file di intestazione wmcodecdsp.h.
Tipi di input
Il decodificatore audio Dolby supporta i sottotipi di input seguenti.
Subtype | Descrizione | Intestazione |
---|---|---|
MEDIASUBTYPE_DOLBY_AC3 | Audio Dolby Digital. | mfapi.h |
MEDIASUBTYPE_DVM | Audio Dolby Digital; vedi Sottotipi audio. Questo sottotipo può essere usato in modo intercambiabile con MEDIASUBTYPE_DOLBY_AC3. |
wmcodecdsp.h |
MFAudioFormat_Dolby_Digital_Plus | Audio Dolby Digital Plus. | mfapi.h |
Nella tabella seguente sono elencati gli attributi necessari e facoltativi per il tipo di supporto di input.
Attributo | Descrizione | Osservazioni |
---|---|---|
MF_MT_MAJOR_TYPE | Tipo principale. | Obbligatorio. Deve essere MFMediaType_Audio. |
MF_MT_SUBTYPE | Sottotipo audio. | Obbligatorio. Per informazioni dettagliate, vedere la tabella precedente. |
MF_MT_AUDIO_SAMPLES_PER_SECOND | Frequenza di campionamento, in campioni al secondo. | Facoltativa. I valori validi sono: 48000, 44100, 32000, 24000, 22050 e 16000. Se questo attributo non è impostato, il valore predefinito è 48000. Nota: I flussi Dolby AC-3 sono limitati ai tre tassi più alti in questo elenco. |
MF_MT_AUDIO_NUM_CHANNELS | Numero di canali, incluso il canale LFE (Low Frequency), se presente. | Facoltativa. I valori validi sono compresi nell'intervallo da 1 (mono) a 8 (configurazione del canale 7,1). Se questo attributo non è impostato, il valore predefinito è 2 (stereo). |
MF_MT_AUDIO_CHANNEL_MASK | Specifica l'assegnazione dei canali audio alle posizioni dell'altoparlante. | Facoltativa. Se specificato, il valore deve essere coerente con il numero di canali audio. Se l'attributo non è impostato, il decodificatore usa una maschera di canale predefinita, in base al numero di canali. |
Nella tabella seguente sono elencate le configurazioni del canale Dolby supportate.
Configurazione del canale | Numero di canali | Maschere di canale |
---|---|---|
1/0 (mono) | 1 | 0x4 (SPEAKER_FRONT_CENTER) |
2/0 (stereo) o 1+1 (doppio mono) | 2 | 0x3 (SPEAKER_FRONT_RIGHT SPEAKER_FRONT_LEFT) |
3/0 | 3 | 0x7 (SPEAKER_FRONT_LEFT SPEAKER_FRONT_RIGHTSPEAKER_FRONT_CENTER) |
2/1 | 3 | 0x103 (SPEAKER_FRONT_LEFT SPEAKER_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_RIGHT SPEAKER_BACK_LEFTSPEAKER_BACK_RIGHT) oppure 0x603 (SPEAKER_FRONT_LEFT SPEAKER_FRONT_RIGHTSPEAKER_SIDE_LEFTSPEAKER_SIDE_RIGHT) |
3/2 | 5 | 0x37 (SPEAKER_FRONT_LEFTSPEAKER_FRONT_RIGHT SPEAKER_FRONT_CENTERSPEAKER_BACK_LEFTSPEAKER_BACK_RIGHT) oppure 0x607 (SPEAKER_FRONT_LEFT SPEAKER_FRONT_RIGHT SPEAKER_FRONT_CENTERSPEAKER_SIDE_LEFT SPEAKER_SIDE_RIGHT) |
3/2 + LFE | 6 | 0x3F (SPEAKER_FRONT_LEFT SPEAKER_FRONT_RIGHTSPEAKER_FRONT_CENTERSPEAKER_LOW_FREQUENCYSPEAKER_BACK_LEFT SPEAKER_BACK_RIGHT) oppure 0x60F (SPEAKER_FRONT_LEFT SPEAKER_FRONT_RIGHT SPEAKER_FRONT_CENTERSPEAKER_LOW_FREQUENCYSPEAKER_SIDE_LEFT SPEAKER_SIDE_RIGHT) |
2/3/2 + LFE Nota: Solo Dolby Digital Plus. |
8 | 0x63F (SPEAKER_FRONT_LEFT SPEAKER_FRONT_RIGHTSPEAKER_FRONT_CENTERSPEAKER_LOW_FREQUENCYSPEAKER_BACK_RIGHT SPEAKER_LOW_FREQUENCY SPEAKER_BACK_LEFT SPEAKER_SIDE_LEFT SPEAKER_SIDE_RIGHT) |
Inoltre, le configurazioni dei canali 1/0, 2/0, 3/0, 2/1, 3/1 e 2/2 possono essere visualizzate anche con un canale LFE.
Tipi di output
Il decodificatore audio Dolby supporta i sottotipi di output seguenti.
Subtype | Descrizione | Intestazione |
---|---|---|
MFAudioFormat_Dolby_AC3_SPDIF | Audio Dolby AC-3 formattato per l'output digitale S/PDIF. | mfapi.h |
KSDATAFORMAT_SUBTYPE_IEC61937_DOLBY_DIGITAL_PLUS | Audio Dolby Digital Plus formattato per l'output digitale HDMI. | ksmedia.h |
MFAudioFormat_Float | Audio PCM a virgola mobile IEEE a 32 bit Windows 10: stereo, 5.1, 7.1 Versioni precedenti: stereo, 5.1 |
mfapi.h |
MFAudioFormat_PCM | Audio PCM a 16 bit Windows 10: stereo, 5.1, 7.1 Versioni precedenti: stereo, 5.1 |
mfapi.h |
Nella tabella seguente sono elencati gli attributi obbligatori e facoltativi per il tipo di supporto di output.
Attributo | Descrizione | Osservazioni |
---|---|---|
MF_MT_MAJOR_TYPE | Tipo principale. | Obbligatorio. Deve essere MFMediaType_Audio. |
MF_MT_SUBTYPE | Sottotipo audio. | Obbligatorio. Per informazioni dettagliate, vedere la tabella precedente. |
MF_MT_AUDIO_SAMPLES_PER_SECOND | Frequenza di campionamento, in campioni al secondo. | Obbligatorio. I valori validi sono: 48000, 44100, 32000, 24000, 22050 e 16000. La frequenza di campionamento di output deve essere identica alla frequenza di campionamento di input. Il decodificatore non può modificare la frequenza di campionamento del flusso. |
MF_MT_AUDIO_NUM_CHANNELS | Numero di canali, incluso il canale LFE (Low Frequency), se presente. | Obbligatorio per l'output PCM. Non necessario per l'output digitale. Se il tipo di input è mono, stereo o dual-mono (tutti senza canale LFE), l'unico valore valido è 2, per l'output stereo. In caso contrario, il valore può essere:
|
MF_MT_AUDIO_CHANNEL_MASK | Specifica l'assegnazione dei canali audio alle posizioni dell'altoparlante. | Obbligatorio per l'output PCM se il numero di canali è maggiore di 2. Il valore deve essere:
|
MF_MT_AUDIO_BITS_PER_SAMPLE | Numero di bit per campione audio. | Obbligatorio per l'output PCM. Il valore deve essere 32 per MFAudioFormat_Float e 16 per MFAudioFormat_PCM. Non necessario per l'output digitale. |
MF_MT_AUDIO_VALID_BITS_PER_SAMPLE | Numero di bit validi di dati audio in ogni campione audio. | Facoltativo per l'output PCM. Se impostato, il valore deve essere identico a MF_MT_AUDIO_BITS_PER_SAMPLE. Non necessario per i sottotipi di output digitale. |
MF_MT_AUDIO_BLOCK_ALIGNMENT | Allineamento dei blocchi, in byte. | Facoltativo per l'output PCM. Non necessario per l'output digitale. |
MF_MT_AUDIO_AVG_BYTES_PER_SECOND | Numero medio di byte al secondo. | Facoltativo per l'output PCM. Non necessario per l'output digitale. |
Attributi di trasformazione
Il decodificatore audio Dolby implementa il metodo IMFTransform::GetAttributes . L'applicazione può usare questo metodo per ottenere o impostare gli attributi seguenti.
Attributo | Descrizione |
---|---|
CODECAPI_AVDecAudioDualMono | Specifica se un flusso audio Dolby a 2 canali è codificato come stereo o dual-mono. Prima che il primo frame Dolby venga decodificato, il valore è eAVDecAudioDualMono_UnSpecified. Dopo l'inizio della decodifica, il valore riflette il frame Dolby più recente. Di sola lettura. |
CODECAPI_AVDecAudioDualMonoReproMode | Specifica il modo in cui il decodificatore riproduce l'audio dual-mono. Il valore predefinito è eAVDecAudioDualMonoReproMode_LEFT_MONO. L'applicazione può impostare questa proprietà in qualsiasi momento. Proprietà di lettura/scrittura. |
CODECAPI_AVDecCommonMeanBitRate | Per i flussi Dolby Digital (AC-3), specifica la velocità in bit del flusso di input in bit al secondo. Per Dolby Digital Plus (E-AC3), il valore è sempre zero. Sola lettura. |
CODECAPI_AVDecDDDynamicRangeScaleHigh | Taglio di alto livello quando il decodificatore esegue il controllo dell'intervallo dinamico. Proprietà di lettura/scrittura. |
CODECAPI_AVDecDDDynamicRangeScaleLow | Boost di basso livello quando il decodificatore esegue il controllo dell'intervallo dinamico. Proprietà di lettura/scrittura. |
CODECAPI_AVDecDDOperationalMode | Modalità di controllo della compressione. Proprietà di lettura/scrittura. |
CODECAPI_AVDecDDStereoDownMixMode | Tipo di downmix stereo. Questa proprietà si applica quando l'input è un flusso multicanale e l'output è un flusso stereo. Proprietà di lettura/scrittura. |
MFT_SUPPORT_DYNAMIC_FORMAT_CHANGE | Questo attributo restituisce FALSE, che indica che il decodificatore deve essere svuotato prima che venga impostato un nuovo tipo di input. Proprietà di lettura/scrittura. |
Commenti
Il decodificatore accetta solo flussi Dolby non elaborati, come definito da A/52B. I payload, ad esempio Flussi elementari pacchettizzati (PES) non sono supportati. Per Dolby Digital Plus, il decodificatore decodifica fino a 5,1 canali. In Windows 10, i flussi di canale 7.1 vengono decodificati senza downmix. Nelle versioni precedenti del sistema operativo, se il flusso è 7.1 canali, verrà decodificato solo il downmix del canale 5.1. Se il flusso è Dolby Digital Plus con più di un sottostream indipendente, viene decodificato solo il substream indipendente 0. Il decodificatore ignora altri sottostream indipendenti. Inoltre, il decodificatore ignora tutti i sottostream dipendenti. Il decodificatore supporta la decrittografia e la decodifica dei flussi protetti dalla tecnologia DIGITAL Rights Management (DRM).
Se il tipo di supporto di input ha una configurazione del canale diversa da mono, stereo o dual-mono (tutto senza canale LFE), il decodificatore offre due opzioni per le configurazioni del canale di output:
- Output a 8 canali (configurazione del canale 7.1)
- Output a 6 canali (configurazione canale 5.1)
- Stereo downmix
Se è selezionata l'opzione stereo downmix, il tipo di downmix può essere impostato su MFT usando la proprietà CODECAPI_AVDecDDStereoDownMixMode .
Se il tipo di output è MFAudioFormat_Dolby_AC3_SPDIF, ogni buffer di output contiene 6.144 byte. Il buffer inizia con un'intestazione S/PDIF a 8 byte, seguita da un frame AC-3 compresso, seguito da un riempimento zero a 6.144 byte.
Se il tipo di output è KSDATAFORMAT_SUBTYPE_IEC61937_DOLBY_DIGITAL_PLUS, ogni buffer di output contiene 24.576 byte. Il buffer inizia con un'intestazione S/PDIF a 8 byte, seguita da 1-6 fotogrammi Compressi Dolby Digital Plus corrispondenti a 1.536 campioni PCM, seguiti da un riempimento zero a 24.576 byte. Per l'output HDMI, solo il substream indipendente 0 è compresso.
Il decodificatore MFT è registrato con il flag MFT_ENUM_FLAG_FIELDOFUSE, che indica che il MFT che deve essere sbloccato dall'applicazione prima dell'uso. Per altre informazioni, vedere Campo delle restrizioni per l'uso.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato |
Windows 8 [app desktop | App UWP] |
Server minimo supportato |
Nessuno supportato |
DLL |
|
Vedi anche