26#if !defined(_SPANDSP_PRIVATE_T4_T6_DECODE_H_)
27#define _SPANDSP_PRIVATE_T4_T6_DECODE_H_
struct logging_state_s logging_state_t
Definition logging.h:72
Definition private/t4_t6_decode.h:33
int encoding
The type of compression used between the FAX machines.
Definition private/t4_t6_decode.h:40
uint32_t * cur_runs
Black and white run-lengths for the current row.
Definition private/t4_t6_decode.h:61
int longest_bad_row_run
The longest run of consecutive bad rows seen in the current page.
Definition private/t4_t6_decode.h:114
int a0
The reference or starting changing element on the coding line. At the start of the coding line,...
Definition private/t4_t6_decode.h:76
int bytes_per_row
The current number of bytes per row of uncompressed image data.
Definition private/t4_t6_decode.h:47
int min_row_bits
The minimum bits in any row of the current page. For monitoring only.
Definition private/t4_t6_decode.h:105
int b1
The first changing element on the reference line to the right of a0 and of opposite colour to a0.
Definition private/t4_t6_decode.h:79
int row_len
The current length of the current row.
Definition private/t4_t6_decode.h:58
int bad_rows
The total number of bad rows in the current page.
Definition private/t4_t6_decode.h:116
int black_white
2D horizontal mode control.
Definition private/t4_t6_decode.h:83
uint32_t * ref_runs
Black and white run-lengths for the reference row.
Definition private/t4_t6_decode.h:63
int image_width
Width of the current page, in pixels.
Definition private/t4_t6_decode.h:42
uint8_t * row_buf
Pointer to the buffer for the current pixel row.
Definition private/t4_t6_decode.h:52
t4_row_write_handler_t row_write_handler
Callback function to write a row of pixels to the image destination.
Definition private/t4_t6_decode.h:35
int row_is_2d
This variable is set if we are treating the current row as a 2D encoded one.
Definition private/t4_t6_decode.h:56
int compressed_image_size
The size of the compressed image, in bits.
Definition private/t4_t6_decode.h:110
uint32_t pixel_stream
Decoded pixel stream buffer.
Definition private/t4_t6_decode.h:100
logging_state_t logging
Error and flow logging control.
Definition private/t4_t6_decode.h:119
int image_length
Length of the current page, in pixels.
Definition private/t4_t6_decode.h:45
bool in_black
True if the current run is black.
Definition private/t4_t6_decode.h:85
int max_row_bits
The maximum bits in any row of the current page. For monitoring only.
Definition private/t4_t6_decode.h:107
int pixels
The number of pixels currently in pixel_stream.
Definition private/t4_t6_decode.h:102
void * row_write_user_data
Opaque pointer passed to row_write_handler.
Definition private/t4_t6_decode.h:37
uint32_t rx_bitstream
Incoming bit buffer for decompression.
Definition private/t4_t6_decode.h:93
int b_cursor
The current step into the reference row run-lengths buffer.
Definition private/t4_t6_decode.h:90
int rx_skip_bits
The number of bits to be skipped before trying to match the next code word.
Definition private/t4_t6_decode.h:97
int row_bits
The current number of bits in the current encoded row.
Definition private/t4_t6_decode.h:50
int curr_bad_row_run
The current number of consecutive bad rows.
Definition private/t4_t6_decode.h:112
int a_cursor
The current step into the current row run-lengths buffer.
Definition private/t4_t6_decode.h:88
int rx_bits
The number of bits currently in rx_bitstream.
Definition private/t4_t6_decode.h:95
int run_length
The length of the in-progress run of black or white.
Definition private/t4_t6_decode.h:81
int consecutive_eols
This variable is used to count the consecutive EOLS we have seen. If it reaches six,...
Definition private/t4_t6_decode.h:69
int(* t4_row_write_handler_t)(void *user_data, const uint8_t buf[], size_t len)
Definition t4_rx.h:46