aviutl2_sys/
common.rs

1macro_rules! fourcc {
2    ($a:expr, $b:expr, $c:expr, $d:expr) => {
3        (($a as u32) | (($b as u32) << 8) | (($c as u32) << 16) | (($d as u32) << 24))
4    };
5}
6
7pub use windows_sys::Win32::{
8    Graphics::Gdi::{BI_BITFIELDS, BI_RGB},
9    Media::{Audio::WAVE_FORMAT_PCM, Multimedia::WAVE_FORMAT_IEEE_FLOAT},
10};
11
12/// YUY2(YUV 4:2:2)フォーマット
13pub const BI_YUY2: u32 = fourcc!('Y', 'U', 'Y', '2');
14/// PA64(DXGI_FORMAT_R16G16B16A16_UNORM、乗算済みα)フォーマット
15pub const BI_PA64: u32 = fourcc!('P', 'A', '6', '4');
16/// YC48(互換対応のフォーマット)フォーマット
17pub const BI_YC48: u32 = fourcc!('Y', 'C', '4', '8');
18/// HF64(DXGI_FORMAT_R16G16B16A16_FLOAT、乗算済みα)フォーマット(内部フォーマット)
19pub const BI_HF64: u32 = fourcc!('H', 'F', '6', '4');
20
21pub type LPCWSTR = *const u16;