7个版本 (4个重大更新)
0.5.0 | 2024年6月8日 |
---|---|
0.4.2 | 2023年11月6日 |
0.4.1 | 2022年7月31日 |
0.3.0 | 2022年7月30日 |
0.1.0 | 2022年7月30日 |
#1562 in 过程宏
每月369次下载
用于 dxfilter
12KB
176 行
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平面
依赖关系
~128MB
~2M SLoC