# Blinker - Filter

The filter module filters the frames of the input stream based on their format. It passes all frames matching the filter criteria unmodified. Frames not matching the filter criteria are translated to no frame at the output.

There are different filter criteria that can be active or not. If a criteria file is not present, it does not affect the filtering. A frame is only forwarded if it passes all criteria. If no criteria are specified all frames are passed.

## Configuration

The configuration of the filter module with name `NAME` is located in the `filters/NAME` subdirectory.

### Input Stream

The file `instream` contains the name of the stream to receive. The frames received from this stream are filtered and passed to the output stream.

### Format

The file `format` describes the required format of the stream, i.e. its dimensions, the number of channels and the color depth on each channel. If present, the file must contain a string `<width>x<height>-<channels>/<colors>`, e.g. `18x8-1/256` for 18 pixels width, 8 pixels height in 256 grayscales.

### Size

The file `size` describes the required size of the stream, i.e. its dimensions. If present, the file must contain a string `<width>x<height>`, e.g. `18x8` for 18 pixels width, 8 pixels height.

### Minimum and Maximum Files

The files `width_min`, `width_max`, `height_min`, `height_min`, `channels_min`, `channels_max`, `colors_min`, `colors_max` can be used to limit the minimum and maximum values of the movie format parameters (namely width, height, number of channels and number of colors per channel). If present, the file has to contain a single unsigned integer number. The limit will be enforced in this case. Otherwise, there is no restriction regarding the respective parameter.

### Output Stream

The file `outstream` contains the name of the stream to send the filtered frames to.