Bagikan melalui


Dolby Digital Audio Encoder

Encoder audio Dolby adalah transformasi Media Foundation (MFT) yang mengodekan audio mono atau stereo ke Dolby Digital, juga disebut Dolby AC-3. Encoder tidak mendukung input multi-saluran, seperti konfigurasi saluran 5.1.

Penting

Untuk versi Windows sebelum Windows 8, implementasi Microsoft dari teknologi Dolby Digital dibatasi berdasarkan ketentuan program lisensi Dolby Digital untuk digunakan oleh aplikasi Microsoft.

 

Untuk informasi selengkapnya tentang audio Dolby Digital, lihat dokumen Advanced Television Systems Committee (ATSC) Digital Audio Compression Standard (AC-3, E-AC-3) Revisi B.

Pengidentifikasi Kelas

Pengidentifikasi kelas (CLSID) dari encoder audio Dolby CLSID_CMSDolbyDigitalEncMFT, yang ditentukan dalam file header wmcodecdsp.h.

Jenis output

Jenis output harus diatur terlebih dahulu, sebelum jenis input. Tabel berikut mencantumkan atribut yang diperlukan dan opsional untuk jenis media output.

Atribut Deskripsi Keterangan
MF_MT_MAJOR_TYPE Jenis utama. Wajib diisi. Pasti MFMediaType_Audio.
MF_MT_SUBTYPE Subjenis audio. Wajib diisi. Harus MFAudioFormat_Dolby_AC3.
MF_MT_AUDIO_SAMPLES_PER_SECOND Sampel per detik. Wajib diisi. Nilai berikut ini didukung:
  • 32000
  • 44100
  • 48000
MF_MT_AUDIO_NUM_CHANNELS Jumlah saluran. Wajib diisi. Harus 1 (mono) atau 2 (stereo).
MF_MT_AUDIO_CHANNEL_MASK Menentukan penetapan saluran audio ke posisi pembicara. Opsional. Jika diatur, nilai harus 0x3 untuk stereo (saluran kiri depan dan kanan) atau 0x4 untuk mono (saluran tengah depan).
MF_MT_AUDIO_AVG_BYTES_PER_SECOND Laju bit aliran AC-3 yang dikodekan, dalam byte per detik. Pilihan. Lihat Keterangan untuk nilai yang valid. Jika atribut ini tidak diatur, encoder menggunakan laju bit default, seperti yang dijelaskan dalam Keterangan.

 

Jika atribut opsional tidak diatur, encoder menambahkannya ke jenis media setelah jenis diatur.

Jenis Input

Tabel berikut mencantumkan atribut yang diperlukan dan opsional untuk jenis media input.

Atribut Deskripsi Keterangan
MF_MT_MAJOR_TYPE Jenis utama. Wajib diisi. Pasti MFMediaType_Audio.
MF_MT_SUBTYPE Subjenis audio. Wajib diisi. Harus MFAudioFormat_PCM atau MFAudioFormat_Float.
MF_MT_AUDIO_BITS_PER_SAMPLE Jumlah bit per sampel audio. Wajib diisi. Nilai harus 16 jika subjenis MFAudioFormat_PCM, atau 32 jika subjenisnya MFAudioFormat_Float.
MF_MT_AUDIO_SAMPLES_PER_SECOND Sampel per detik. Wajib diisi. Harus cocok dengan jenis output.
MF_MT_AUDIO_NUM_CHANNELS Jumlah saluran. Wajib diisi. Harus cocok dengan jenis output.
MF_MT_AUDIO_BLOCK_ALIGNMENT Perataan blok, dalam byte. Wajib diisi. Hitung nilai sebagai berikut:
  • MFAudioFormat_PCM: Jumlah saluran × 2.
  • MFAudioFormat_Float: Jumlah saluran × 4.
MF_MT_AUDIO_AVG_BYTES_PER_SECOND Laju bit aliran AC3 yang dikodekan, dalam byte per detik. Wajib diisi. Harus sama dengan perataan blok × sampel per detik.
MF_MT_AUDIO_CHANNEL_MASK Menentukan penetapan saluran audio ke posisi pembicara. Opsional. Jika diatur, nilai harus cocok dengan jenis output.
MF_MT_AUDIO_VALID_BITS_PER_SAMPLE Jumlah bit data audio yang valid di setiap sampel audio. Pilihan. Jika diatur, nilai harus identik dengan MF_MT_AUDIO_BITS_PER_SAMPLE.

 

Encoder tidak mendukung konversi laju sampel atau konversi stereo/mono.

Keterangan

Setiap bingkai audio Dolby AC-3 berisi 1536 sampel audio per saluran. Namun, setiap buffer input ke encoder mungkin berisi sejumlah sampel PCM. Ukuran setiap buffer input harus berupa kelipatan perataan blok. Encoder menyimpan sampel input hingga memiliki cukup untuk 1536 sampel audio per saluran; pada titik mana encoder menghasilkan satu bingkai AC-3.

Setiap buffer output berisi satu bingkai AC-3 mentah. Durasinya setara dengan durasi 1536 sampel PCM pada laju pengambilan sampel saat ini (32 msec) pada laju sampel 48 kHz, 34,83 msec pada 44,1 kHz, dan 48 msec pada 32 kHz). Ukuran setiap buffer output tergantung pada laju bit dan laju sampel.

Untuk menentukan laju bit pengodean, atur atribut MF_MT_AUDIO_AVG_BYTES_PER_SECOND dalam jenis output. Tabel berikut ini memperlihatkan hubungan antara laju bit pengodean dan MF_MT_AUDIO_AVG_BYTES_PER_SECOND.

Laju bit (kbps) MF_MT_AUDIO_AVG_BYTES_PER_SECOND Keterangan
64 8000 Mono saja.
80 10000 Mono saja.
96 12000 Mono saja.
112 14000 Mono saja.
128 16000 Mono atau stereo.
160 20000 Mono atau stereo.
192 24000 Mono atau stereo. Ini adalah pengaturan default untuk mono.
224 28000 Mono atau stereo.
256 32000 Mono atau stereo. Ini adalah pengaturan default untuk stereo.
320 40000 Hanya stereo.
384 48000 Hanya stereo.
448 56000 Hanya stereo.

 

Laju bit pengodean default diatur pada 256 kbps untuk stereo dan 192 kbps untuk mono. Pengaturan default tercermin dalam jenis media yang dikembalikan oleh metode IMFTransform::GetOutputAvailableType encoder.

Contoh Jenis Media

Berikut adalah contoh jenis media yang diperlukan untuk mengodekan PCM bilangan bulat 16-bit, audio stereo 48-kHz pada laju bit default 256 kbps.

Jenis media output:

Atribut Nilai
MF_MT_MAJOR_TYPE MFMediaType_Audio
MF_MT_SUBTYPE MFAudioFormat_Dolby_AC3
MF_MT_AUDIO_SAMPLES_PER_SECOND 48000
MF_MT_AUDIO_NUM_CHANNELS 2

 

Jenis media input:

Atribut Nilai
MF_MT_MAJOR_TYPE MFMediaType_Audio
MF_MT_SUBTYPE MFAudioFormat_PCM
MF_MT_AUDIO_BITS_PER_SAMPLE 16
MF_MT_AUDIO_SAMPLES_PER_SECOND 48000
MF_MT_AUDIO_NUM_CHANNELS 2
MF_MT_AUDIO_BLOCK_ALIGNMENT 4
MF_MT_AUDIO_AVG_BYTES_PER_SECOND 192000

 

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung
Windows 8 [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung
Tidak ada yang didukung
DLL
Msac3enc.dll

Lihat juga

Objek Codec