26 #if !defined(_SPANDSP_PRIVATE_T4_T6_ENCODE_H_)
27 #define _SPANDSP_PRIVATE_T4_T6_ENCODE_H_
Definition: private/logging.h:34
Definition: private/t4_t6_encode.h:33
int image_width
Width of the current page, in pixels.
Definition: private/t4_t6_encode.h:42
int bytes_per_row
The current number of bytes per row of uncompressed image data.
Definition: private/t4_t6_encode.h:52
int min_bits_per_row
The minimum number of encoded bits per row. This is a timing thing for hardware FAX machines.
Definition: private/t4_t6_encode.h:45
uint32_t tx_bitstream
Encoded data bits buffer.
Definition: private/t4_t6_encode.h:65
int rows_to_next_1d_row
Number of rows left that can be 2D encoded, before a 1D encoded row must be used.
Definition: private/t4_t6_encode.h:56
int min_row_bits
The minimum bits in any row of the current page. For monitoring only.
Definition: private/t4_t6_encode.h:85
uint32_t * cur_runs
Black and white run-lengths for the current row.
Definition: private/t4_t6_encode.h:78
void * row_read_user_data
Opaque pointer passed to row_read_handler.
Definition: private/t4_t6_encode.h:37
int max_rows_to_next_1d_row
The current maximum contiguous rows that may be 2D encoded.
Definition: private/t4_t6_encode.h:47
int tx_bits
The number of bits currently in tx_bitstream.
Definition: private/t4_t6_encode.h:67
int compressed_image_size
The size of the compressed image, in bits.
Definition: private/t4_t6_encode.h:90
uint32_t * ref_runs
Black and white run-lengths for the reference row.
Definition: private/t4_t6_encode.h:80
int bit_pos
Pointer to the bit within the byte containing the next image bit to transmit.
Definition: private/t4_t6_encode.h:75
int bitstream_optr
Output pointer to the output bit stream buffer.
Definition: private/t4_t6_encode.h:73
int ref_steps
The number of runs currently in the reference row.
Definition: private/t4_t6_encode.h:82
uint8_t * bitstream
The working chunk of the output bit stream.
Definition: private/t4_t6_encode.h:69
int row_bits
The current number of bits in the current encoded row.
Definition: private/t4_t6_encode.h:58
int bitstream_iptr
Input pointer to the output bit stream buffer.
Definition: private/t4_t6_encode.h:71
t4_row_read_handler_t row_read_handler
Callback function to read a row of pixels from the image source.
Definition: private/t4_t6_encode.h:35
logging_state_t logging
Error and flow logging control.
Definition: private/t4_t6_encode.h:93
bool row_is_2d
This variable is set if we are treating the current row as a 2D encoded one.
Definition: private/t4_t6_encode.h:62
int max_row_bits
The maximum bits in any row of the current page. For monitoring only.
Definition: private/t4_t6_encode.h:87
int image_length
Length of the current page, in pixels.
Definition: private/t4_t6_encode.h:50
int encoding
The type of compression used.
Definition: private/t4_t6_encode.h:40
int(* t4_row_read_handler_t)(void *user_data, uint8_t buf[], size_t len)
Definition: t4_tx.h:34