|
picceler
A compiled DSL for image processing, built on MLIR
|
Rewrites a filter op whose kernel depends on a single I64 parameter (sharpen's strength, box_blur/gaussian_blur's radius) into a convolution + kernel pair, using staticCalc when the parameter is a compile-time constant and dynamicBuilder otherwise. More...
Public Types | |
| using | ParamExtractor = std::function<mlir::Value(typename OpTy::Adaptor &)> |
| using | StaticKernelCalculator = std::function<Result<KernelData>(OpTy, typename OpTy::Adaptor)> |
| using | DynamicKernelBuilder |
Public Member Functions | |
| ParameterizedFilterPattern (mlir::MLIRContext *ctx, ParamExtractor paramExtractor, StaticKernelCalculator staticCalc, DynamicKernelBuilder dynamicBuilder) | |
| mlir::LogicalResult | matchAndRewrite (OpTy op, OpTy::Adaptor adaptor, mlir::ConversionPatternRewriter &rewriter) const override |
Rewrites a filter op whose kernel depends on a single I64 parameter (sharpen's strength, box_blur/gaussian_blur's radius) into a convolution + kernel pair, using staticCalc when the parameter is a compile-time constant and dynamicBuilder otherwise.
| using picceler::ParameterizedFilterPattern< OpTy >::DynamicKernelBuilder |
| using picceler::ParameterizedFilterPattern< OpTy >::ParamExtractor = std::function<mlir::Value(typename OpTy::Adaptor &)> |
| using picceler::ParameterizedFilterPattern< OpTy >::StaticKernelCalculator = std::function<Result<KernelData>(OpTy, typename OpTy::Adaptor)> |
|
inline |
|
inlineoverride |