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:60
int longest_bad_row_run
The longest run of consecutive bad rows seen in the current page.
Definition private/t4_t6_decode.h:113
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:75
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:104
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:78
int row_len
The current length of the current row.
Definition private/t4_t6_decode.h:57
int bad_rows
The total number of bad rows in the current page.
Definition private/t4_t6_decode.h:115
int black_white
2D horizontal mode control.
Definition private/t4_t6_decode.h:82
uint32_t * ref_runs
Black and white run-lengths for the reference row.
Definition private/t4_t6_decode.h:62
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 compressed_image_size
The size of the compressed image, in bits.
Definition private/t4_t6_decode.h:109
uint32_t pixel_stream
Decoded pixel stream buffer.
Definition private/t4_t6_decode.h:99
logging_state_t logging
Error and flow logging control.
Definition private/t4_t6_decode.h:118
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:84
int max_row_bits
The maximum bits in any row of the current page. For monitoring only.
Definition private/t4_t6_decode.h:106
int pixels
The number of pixels currently in pixel_stream.
Definition private/t4_t6_decode.h:101
bool row_is_2d
True if we are treating the current row as a 2D encoded one.
Definition private/t4_t6_decode.h:55
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:92
int b_cursor
The current step into the reference row run-lengths buffer.
Definition private/t4_t6_decode.h:89
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:96
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:111
int a_cursor
The current step into the current row run-lengths buffer.
Definition private/t4_t6_decode.h:87
int rx_bits
The number of bits currently in rx_bitstream.
Definition private/t4_t6_decode.h:94
int run_length
The length of the in-progress run of black or white.
Definition private/t4_t6_decode.h:80
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:68
int(* t4_row_write_handler_t)(void *user_data, const uint8_t buf[], size_t len)
Definition t4_rx.h:46