mirror of
https://gitlab.freedesktop.org/libfprint/libfprint.git
synced 2025-11-15 07:38:12 +00:00
lib: Document assembling functions
This commit is contained in:
committed by
Bastien Nocera
parent
c9733d27df
commit
2088a6177f
@@ -22,12 +22,36 @@
|
||||
|
||||
#include <fprint.h>
|
||||
|
||||
/**
|
||||
* fpi_frame:
|
||||
* @delta_x: X offset of the frame
|
||||
* @delta_y: Y offset of the frame
|
||||
* @data: bitmap
|
||||
*
|
||||
* #fpi_frame is used to store frames for swipe sensors. Drivers should
|
||||
* populate delta_x and delta_y if the device supports hardware movement
|
||||
* estimation.
|
||||
*/
|
||||
struct fpi_frame {
|
||||
int delta_x;
|
||||
int delta_y;
|
||||
unsigned char data[0];
|
||||
};
|
||||
|
||||
/**
|
||||
* fpi_frame_asmbl_ctx:
|
||||
* @frame_width: width of the frame
|
||||
* @frame_height: height of the frame
|
||||
* @image_width: resulting image width
|
||||
* @get_pixel: pixel accessor, returns pixel brightness at x,y of frame
|
||||
*
|
||||
* #fpi_frame_asmbl_ctx is a structure holding the context for frame
|
||||
* assembling routines.
|
||||
*
|
||||
* Drivers should define their own #fpi_frame_asmbl_ctx depending on
|
||||
* hardware parameters of scanner. @image_width is usually 25% wider than
|
||||
* @frame_width to take horizontal movement into account.
|
||||
*/
|
||||
struct fpi_frame_asmbl_ctx {
|
||||
unsigned int frame_width;
|
||||
unsigned int frame_height;
|
||||
@@ -39,11 +63,39 @@ struct fpi_frame_asmbl_ctx {
|
||||
};
|
||||
|
||||
void fpi_do_movement_estimation(struct fpi_frame_asmbl_ctx *ctx,
|
||||
GSList *stripes, size_t stripes_len);
|
||||
GSList *stripes, size_t num_stripes);
|
||||
|
||||
struct fp_img *fpi_assemble_frames(struct fpi_frame_asmbl_ctx *ctx,
|
||||
GSList *stripes, size_t stripes_len);
|
||||
GSList *stripes, size_t num_stripes);
|
||||
|
||||
/**
|
||||
* fpi_line_asmbl_ctx:
|
||||
* @line_width: width of line
|
||||
* @max_height: maximal height of assembled image
|
||||
* @resolution: scale factor used for line assembling routines.
|
||||
* @median_filter_size: size of median filter for movement estimation
|
||||
* @max_search_offset: the number of lines to search for the next line
|
||||
* @get_deviation: pointer to a function that returns the numerical difference
|
||||
* between two lines
|
||||
* @get_pixel: pixel accessor, returns pixel brightness at x of line
|
||||
*
|
||||
* #fpi_line_asmbl_ctx is a structure holding the context for line assembling
|
||||
* routines.
|
||||
*
|
||||
* Drivers should define their own #fpi_line_asmbl_ctx depending on
|
||||
* the hardware parameters of the scanner. Swipe scanners of this type usually
|
||||
* return two lines, the second line is often narrower than first and is used
|
||||
* for movement estimation.
|
||||
*
|
||||
* The @max_search_offset value indicates how many lines forward the assembling
|
||||
* routines should look while searching for next line. This value depends on
|
||||
* how fast the hardware sends frames.
|
||||
*
|
||||
* The function pointed to by @get_deviation should return the numerical difference
|
||||
* between two lines. Higher values means lines are more different. If the reader
|
||||
* returns two lines at a time, this function should be used to estimate the
|
||||
* difference between pairs of lines.
|
||||
*/
|
||||
struct fpi_line_asmbl_ctx {
|
||||
unsigned int line_width;
|
||||
unsigned int max_height;
|
||||
@@ -58,6 +110,6 @@ struct fpi_line_asmbl_ctx {
|
||||
};
|
||||
|
||||
struct fp_img *fpi_assemble_lines(struct fpi_line_asmbl_ctx *ctx,
|
||||
GSList *lines, size_t lines_len);
|
||||
GSList *lines, size_t num_lines);
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user