Function report |
Source Code:lib\lzo\lzo1x_compress.c |
Create Date:2022-07-28 07:00:12 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:lzo1x_1_do_compress
Proto:static noinline size_t lzo1x_1_do_compress(const unsigned char *in, size_t in_len, unsigned char *out, size_t *out_len, size_t ti, void *wrkmem, signed char *state_offset, const unsigned char bitstream_version)
Type:size_t
Parameter:
| Type | Parameter | Name |
|---|---|---|
| const unsigned char * | in | |
| size_t | in_len | |
| unsigned char * | out | |
| size_t * | out_len | |
| size_t | ti | |
| void * | wrkmem | |
| signed char * | state_offset | |
| const unsigned char | bitstream_version |
| 39 | cycle |
| 40 | const unsigned char * m_pos = NULL |
| 43 | run_length = 0 |
| 44 | literal : |
| 46 | next : |
| 47 | If Value for the false possibility is greater at compile time(ip >= ip_end) Then Break |
| 49 | dv = get_unaligned_le32(ip) |
| 51 | If dv == 0 && bitstream_version Then |
| 53 | limit = If ip_end < ip + MAX_ZERO_RUN_LENGTH + 1 Then ip_end Else ip + MAX_ZERO_RUN_LENGTH + 1 |
| 85 | ir++ |
| 86 | If IS_ALIGNED((uintptr_t)ir, 4) Then |
| 102 | When Value is more likely to compile time(ir < limit) && Value for the false possibility is greater at compile time( * ir == 0) cycle |
| 103 | ir++ |
| 104 | run_length = ir - ip |
| 105 | If run_length > MAX_ZERO_RUN_LENGTH Then run_length = MAX_ZERO_RUN_LENGTH |
| 107 | Else |
| 110 | dict[t] = (lzo_dict_t)(ip - in) |
| 111 | If Value for the false possibility is greater at compile time(dv != get_unaligned_le32(m_pos)) Then Go to literal |
| 116 | ti = 0 |
| 118 | If t != 0 Then |
| 154 | ip += run_length |
| 155 | run_length -= MIN_ZERO_RUN_LENGTH |
| 156 | put_unaligned_le32((run_length << 21) | 0xfffc18 | (run_length & 0x7), op) |
| 158 | op += 4 |
| 159 | run_length = 0 |
| 160 | state_offset = -3 |
| 161 | Go to finished_writing_instruction |
| 164 | m_len = 4 |
| 212 | If Value for the false possibility is greater at compile time(ip[m_len] == m_pos[m_len]) Then |
| 242 | m_len_done : |
| 246 | If m_len <= M2_MAX_LEN && m_off <= M2_MAX_OFFSET Then |
| 250 | Else if m_off <= M3_MAX_OFFSET Then |
| 251 | m_off -= 1 |
| 252 | If m_len <= M3_MAX_LEN Then op++ = M3_MARKER | m_len - 2 |
| 254 | Else |
| 255 | m_len -= M3_MAX_LEN |
| 257 | When Value for the false possibility is greater at compile time(m_len > 255) cycle |
| 265 | Else |
| 266 | m_off -= 0x4000 |
| 270 | Else |
| 271 | m_len -= M4_MAX_LEN |
| 273 | When Value for the false possibility is greater at compile time(m_len > 255) cycle |
| 282 | state_offset = -2 |
| 285 | Go to next |
| Name | Describe |
|---|---|
| lzogeneric1x_1_compress |
| Source code conversion tool public plug-in interface | X |
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |