adaptivegrain/vapoursynth/CHANGELOG.md

25 lines
1.4 KiB
Markdown
Raw Normal View History

2019-05-30 13:06:53 +02:00
## v0.2 (16th Jun 2018)
- Added plugin support! That includes:
- `plugins::{Metadata,Filter,FilterFunction}` types and traits for making plugins;
- `export_vapoursynth_plugin!` macro for exporting a VapourSynth plugin;
- `make_filter_function!` macro for making filters without much boilerplate.
- Added a sample plugin in the `sample-filter` folder.
- Added the `component::Component` trait and `Frame::plane*()` accessors for safely working with the pixel data without having to manually transmute slices, including an optional half-precision float support using the `half` crate.
- Added `plugin::Plugin` and other relevant APIs for enumerating plugins and invoking their functions.
- Added lifetime parameters to many types to fix soundness issues.
- Split `Frame` into `Frame`, `FrameRef`, `FrameRefMut`.
- Added the `map::Value` trait and generic `Map::{get,get_iter,set,append}()` functions.
- Added format caching in `Frame` to reduce the number of API calls needed.
- Added some convenience `From` impls.
### v0.1.2 (2nd Apr 2018)
- Fixed `Frame::data_row()` returning slices of incorrect rows (using the `plane` value instead of the `row` value).
### v0.1.1 (24th Mar 2018)
- Added support for targetting 32-bit Windows
- Added automatic detection of common Windows VapourSynth library dirs
- Fixed `Frame::data()` and `Frame::data_row()` returning slices of incorrect sizes (too short) for pixel formats with more than 1 byte per pixel
## v0.1.0
- Initial release