26 #if !defined(_SPANDSP_PRIVATE_T4_T6_DECODE_H_) 27 #define _SPANDSP_PRIVATE_T4_T6_DECODE_H_ int rx_bits
The number of bits currently in rx_bitstream.
Definition: private/t4_t6_decode.h:95
uint8_t * row_buf
Pointer to the buffer for the current pixel row.
Definition: private/t4_t6_decode.h:52
Definition: private/t4_t6_decode.h:32
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 max_row_bits
The maximum bits in any row of the current page. For monitoring only.
Definition: private/t4_t6_decode.h:107
int image_width
Width of the current page, in pixels.
Definition: private/t4_t6_decode.h:42
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 pixels
The number of pixels currently in pixel_stream.
Definition: private/t4_t6_decode.h:102
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
uint32_t * cur_runs
Black and white run-lengths for the current row.
Definition: private/t4_t6_decode.h:61
bool in_black
True if the current run is black.
Definition: private/t4_t6_decode.h:85
int bad_rows
The total number of bad rows in the current page.
Definition: private/t4_t6_decode.h:116
int curr_bad_row_run
The current number of consecutive bad rows.
Definition: private/t4_t6_decode.h:112
int row_bits
The current number of bits in the current encoded row.
Definition: private/t4_t6_decode.h:50
int row_len
The current length of the current row.
Definition: private/t4_t6_decode.h:58
logging_state_t logging
Error and flow logging control.
Definition: private/t4_t6_decode.h:119
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 encoding
The type of compression used between the FAX machines.
Definition: private/t4_t6_decode.h:40
int compressed_image_size
The size of the compressed image, in bits.
Definition: private/t4_t6_decode.h:110
Definition: private/logging.h:33
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 black_white
2D horizontal mode control.
Definition: private/t4_t6_decode.h:83
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 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 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 a_cursor
The current step into the current row run-lengths buffer.
Definition: private/t4_t6_decode.h:88
uint32_t * ref_runs
Black and white run-lengths for the reference row.
Definition: private/t4_t6_decode.h:63
int consecutive_eols
This variable is used to count the consecutive EOLS we have seen. If it reaches six, this is the end of the image. It is initially set to -1 for 1D and 2D decoding, as an indicator that we must wait for the first EOL, before decoding any image data.
Definition: private/t4_t6_decode.h:69
int run_length
The length of the in-progress run of black or white.
Definition: private/t4_t6_decode.h:81
int image_length
Length of the current page, in pixels.
Definition: private/t4_t6_decode.h:45
int(* t4_row_write_handler_t)(void *user_data, const uint8_t buf[], size_t len)
Definition: t4_rx.h:46
uint32_t pixel_stream
Decoded pixel stream buffer.
Definition: private/t4_t6_decode.h:100
int b_cursor
The current step into the reference row run-lengths buffer.
Definition: private/t4_t6_decode.h:90