13 个版本
0.5.13 | 2024 年 6 月 8 日 |
---|---|
0.5.12 | 2023 年 11 月 6 日 |
0.5.11 | 2022 年 7 月 31 日 |
#315 在 图形 API 中
50KB
865 行
DxFilter
使用 DirectX 过滤器进行缩放和颜色转换。您还可以使用提供的 API 创建自己的过滤器。
库包含各种工具来实现这些功能。
generate_shader!
和compile_shader!
宏,用于编写在编译时编译的着色器- 用于将 RGB 转换为 YUV 或 NV12 的各种内置过滤器
DxFilter
接口,用于编写自定义过滤器- 如
create_device_context
、create_input_tex
、create_output_tex
等工具,以简化设置。 - 如
AdapterFactory
、Adapter
、TextureReader
等工具,从win_desktop_duplication
引入。
例如使用方法,请查看 examples/rgb_to_nv12.rs
用法
// for more detailed example see examples/rgb_to_nv12.rs
fn main() {
// {...}
// Texture Texture directx device
let filter = ConvertARGBToNV12::new(&input_tex, &output_tex, &device).unwrap();
// directx device
filter.apply_filter(&context).unwrap();
// { ... }
}
可用过滤器
- ARGB 到 AYUV
- ARGB 到 NV12
- 仅 ARGB 或 AYUV 缩放
- ARGB 到 YUV 平面
- ARGB 到 YUV420 平面
- ARGB16 到 Y410
- ARGB16 到 YUV444 10bit 平面
- ARGB16 到 YUV420 10bit 平面
依赖项
~132MB
~2M SLoC