xref: /isa-l/igzip/igzip_base_aliases.c (revision e3c2d243a11ae31a19f090206cbe90c84b12ceb1)
1f316e962SGreg Tucker /**********************************************************************
2f316e962SGreg Tucker   Copyright(c) 2011-2017 Intel Corporation All rights reserved.
3f316e962SGreg Tucker 
4f316e962SGreg Tucker   Redistribution and use in source and binary forms, with or without
5f316e962SGreg Tucker   modification, are permitted provided that the following conditions
6f316e962SGreg Tucker   are met:
7f316e962SGreg Tucker     * Redistributions of source code must retain the above copyright
8f316e962SGreg Tucker       notice, this list of conditions and the following disclaimer.
9f316e962SGreg Tucker     * Redistributions in binary form must reproduce the above copyright
10f316e962SGreg Tucker       notice, this list of conditions and the following disclaimer in
11f316e962SGreg Tucker       the documentation and/or other materials provided with the
12f316e962SGreg Tucker       distribution.
13f316e962SGreg Tucker     * Neither the name of Intel Corporation nor the names of its
14f316e962SGreg Tucker       contributors may be used to endorse or promote products derived
15f316e962SGreg Tucker       from this software without specific prior written permission.
16f316e962SGreg Tucker 
17f316e962SGreg Tucker   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18f316e962SGreg Tucker   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19f316e962SGreg Tucker   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20f316e962SGreg Tucker   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21f316e962SGreg Tucker   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22f316e962SGreg Tucker   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23f316e962SGreg Tucker   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24f316e962SGreg Tucker   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25f316e962SGreg Tucker   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26f316e962SGreg Tucker   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27f316e962SGreg Tucker   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28f316e962SGreg Tucker **********************************************************************/
29f316e962SGreg Tucker 
30f316e962SGreg Tucker #include <stdint.h>
31f316e962SGreg Tucker #include "igzip_lib.h"
32f316e962SGreg Tucker #include "encode_df.h"
334ae2d1beSRoy Oursler #include "igzip_level_buf_structs.h"
34f316e962SGreg Tucker 
3555fbfabfSMarcel Cornu void
3655fbfabfSMarcel Cornu isal_deflate_body_base(struct isal_zstream *stream);
3755fbfabfSMarcel Cornu void
3855fbfabfSMarcel Cornu isal_deflate_finish_base(struct isal_zstream *stream);
3955fbfabfSMarcel Cornu void
4055fbfabfSMarcel Cornu isal_deflate_icf_body_hash_hist_base(struct isal_zstream *stream);
4155fbfabfSMarcel Cornu void
4255fbfabfSMarcel Cornu icf_body_hash1_fillgreedy_lazy(struct isal_zstream *stream);
4355fbfabfSMarcel Cornu void
4455fbfabfSMarcel Cornu isal_deflate_icf_finish_hash_hist_base(struct isal_zstream *stream);
4555fbfabfSMarcel Cornu void
4655fbfabfSMarcel Cornu isal_deflate_icf_finish_hash_map_base(struct isal_zstream *stream);
4755fbfabfSMarcel Cornu void
4855fbfabfSMarcel Cornu isal_update_histogram_base(uint8_t *start_stream, int length,
49f316e962SGreg Tucker                            struct isal_huff_histogram *histogram);
5055fbfabfSMarcel Cornu struct deflate_icf *
5155fbfabfSMarcel Cornu encode_deflate_icf_base(struct deflate_icf *next_in, struct deflate_icf *end_in, struct BitBuf2 *bb,
52f316e962SGreg Tucker                         struct hufftables_icf *hufftables);
5355fbfabfSMarcel Cornu uint32_t
5455fbfabfSMarcel Cornu adler32_base(uint32_t init, const unsigned char *buf, uint64_t len);
5555fbfabfSMarcel Cornu int
5655fbfabfSMarcel Cornu decode_huffman_code_block_stateless_base(struct inflate_state *s, uint8_t *start_out);
579203f96cSRoy Oursler 
5855fbfabfSMarcel Cornu extern void
5955fbfabfSMarcel Cornu isal_deflate_hash_base(uint16_t *, uint32_t, uint32_t, uint8_t *, uint32_t);
609203f96cSRoy Oursler 
6155fbfabfSMarcel Cornu void
62*e3c2d243SMattias Ellert set_long_icf_fg_base(uint8_t *next_in, uint64_t processed, uint64_t input_size,
63*e3c2d243SMattias Ellert                      struct deflate_icf *match_lookup);
64*e3c2d243SMattias Ellert 
65*e3c2d243SMattias Ellert uint64_t
6655fbfabfSMarcel Cornu gen_icf_map_h1_base(struct isal_zstream *stream, struct deflate_icf *matches_icf_lookup,
6755fbfabfSMarcel Cornu                     uint64_t input_size);
68f316e962SGreg Tucker 
6955fbfabfSMarcel Cornu void
7055fbfabfSMarcel Cornu isal_deflate_body(struct isal_zstream *stream)
71f316e962SGreg Tucker {
72f316e962SGreg Tucker         isal_deflate_body_base(stream);
73f316e962SGreg Tucker }
74f316e962SGreg Tucker 
7555fbfabfSMarcel Cornu void
7655fbfabfSMarcel Cornu isal_deflate_finish(struct isal_zstream *stream)
77f316e962SGreg Tucker {
78f316e962SGreg Tucker         isal_deflate_finish_base(stream);
79f316e962SGreg Tucker }
80f316e962SGreg Tucker 
8155fbfabfSMarcel Cornu void
8255fbfabfSMarcel Cornu isal_deflate_icf_body_lvl1(struct isal_zstream *stream)
83f316e962SGreg Tucker {
8403bef684SRoy Oursler         isal_deflate_icf_body_hash_hist_base(stream);
854ae2d1beSRoy Oursler }
864ae2d1beSRoy Oursler 
8755fbfabfSMarcel Cornu void
8855fbfabfSMarcel Cornu isal_deflate_icf_body_lvl2(struct isal_zstream *stream)
898965584aSRoy Oursler {
908965584aSRoy Oursler         isal_deflate_icf_body_hash_hist_base(stream);
918965584aSRoy Oursler }
928965584aSRoy Oursler 
9355fbfabfSMarcel Cornu void
9455fbfabfSMarcel Cornu isal_deflate_icf_body_lvl3(struct isal_zstream *stream)
954b45beffSRoy Oursler {
964b45beffSRoy Oursler         icf_body_hash1_fillgreedy_lazy(stream);
974b45beffSRoy Oursler }
984b45beffSRoy Oursler 
9955fbfabfSMarcel Cornu void
10055fbfabfSMarcel Cornu isal_deflate_icf_finish_lvl1(struct isal_zstream *stream)
1014ae2d1beSRoy Oursler {
10203bef684SRoy Oursler         isal_deflate_icf_finish_hash_hist_base(stream);
1034ae2d1beSRoy Oursler }
1044ae2d1beSRoy Oursler 
10555fbfabfSMarcel Cornu void
10655fbfabfSMarcel Cornu isal_deflate_icf_finish_lvl2(struct isal_zstream *stream)
1074ae2d1beSRoy Oursler {
1088965584aSRoy Oursler         isal_deflate_icf_finish_hash_hist_base(stream);
1098965584aSRoy Oursler }
1108965584aSRoy Oursler 
11155fbfabfSMarcel Cornu void
11255fbfabfSMarcel Cornu isal_deflate_icf_finish_lvl3(struct isal_zstream *stream)
1138965584aSRoy Oursler {
1147a12bcb2SRoy Oursler         isal_deflate_icf_finish_hash_map_base(stream);
115f316e962SGreg Tucker }
116f316e962SGreg Tucker 
11755fbfabfSMarcel Cornu void
11855fbfabfSMarcel Cornu isal_update_histogram(uint8_t *start_stream, int length, struct isal_huff_histogram *histogram)
119f316e962SGreg Tucker {
120f316e962SGreg Tucker         isal_update_histogram_base(start_stream, length, histogram);
121f316e962SGreg Tucker }
122f316e962SGreg Tucker 
12355fbfabfSMarcel Cornu struct deflate_icf *
12455fbfabfSMarcel Cornu encode_deflate_icf(struct deflate_icf *next_in, struct deflate_icf *end_in, struct BitBuf2 *bb,
125f316e962SGreg Tucker                    struct hufftables_icf *hufftables)
126f316e962SGreg Tucker {
127f316e962SGreg Tucker         return encode_deflate_icf_base(next_in, end_in, bb, hufftables);
128f316e962SGreg Tucker }
129dbab2ddaSGreg Tucker 
13055fbfabfSMarcel Cornu uint32_t
13155fbfabfSMarcel Cornu isal_adler32(uint32_t init, const unsigned char *buf, uint64_t len)
13242591691SRoy Oursler {
13342591691SRoy Oursler         return adler32_base(init, buf, len);
13442591691SRoy Oursler }
13542591691SRoy Oursler 
13655fbfabfSMarcel Cornu int
13755fbfabfSMarcel Cornu decode_huffman_code_block_stateless(struct inflate_state *s, uint8_t *start_out)
13882702374SGreg Tucker {
139b4dfd61dSRoy Oursler         return decode_huffman_code_block_stateless_base(s, start_out);
14082702374SGreg Tucker }
141ed15402fSRoy Oursler 
14255fbfabfSMarcel Cornu void
14355fbfabfSMarcel Cornu isal_deflate_hash_lvl0(uint16_t *hash_table, uint32_t hash_mask, uint32_t current_index,
14455fbfabfSMarcel Cornu                        uint8_t *dict, uint32_t dict_len)
145ed15402fSRoy Oursler {
1469203f96cSRoy Oursler         isal_deflate_hash_base(hash_table, hash_mask, current_index, dict, dict_len);
1474ae2d1beSRoy Oursler }
1484ae2d1beSRoy Oursler 
14955fbfabfSMarcel Cornu void
15055fbfabfSMarcel Cornu isal_deflate_hash_lvl1(uint16_t *hash_table, uint32_t hash_mask, uint32_t current_index,
15155fbfabfSMarcel Cornu                        uint8_t *dict, uint32_t dict_len)
1527a12bcb2SRoy Oursler {
1537a12bcb2SRoy Oursler         isal_deflate_hash_base(hash_table, hash_mask, current_index, dict, dict_len);
1547a12bcb2SRoy Oursler }
1557a12bcb2SRoy Oursler 
15655fbfabfSMarcel Cornu void
15755fbfabfSMarcel Cornu isal_deflate_hash_lvl2(uint16_t *hash_table, uint32_t hash_mask, uint32_t current_index,
15855fbfabfSMarcel Cornu                        uint8_t *dict, uint32_t dict_len)
1594ae2d1beSRoy Oursler {
1609203f96cSRoy Oursler         isal_deflate_hash_base(hash_table, hash_mask, current_index, dict, dict_len);
1614ae2d1beSRoy Oursler }
1624ae2d1beSRoy Oursler 
16355fbfabfSMarcel Cornu void
16455fbfabfSMarcel Cornu isal_deflate_hash_lvl3(uint16_t *hash_table, uint32_t hash_mask, uint32_t current_index,
16555fbfabfSMarcel Cornu                        uint8_t *dict, uint32_t dict_len)
1668965584aSRoy Oursler {
1678965584aSRoy Oursler         isal_deflate_hash_base(hash_table, hash_mask, current_index, dict, dict_len);
1688965584aSRoy Oursler }
1698965584aSRoy Oursler 
17055fbfabfSMarcel Cornu void
171*e3c2d243SMattias Ellert set_long_icf_fg(uint8_t *next_in, uint64_t processed, uint64_t input_size,
172*e3c2d243SMattias Ellert                 struct deflate_icf *match_lookup)
1734ae2d1beSRoy Oursler {
174*e3c2d243SMattias Ellert         set_long_icf_fg_base(next_in, processed, input_size, match_lookup);
1754ae2d1beSRoy Oursler }
1764ae2d1beSRoy Oursler 
177*e3c2d243SMattias Ellert uint64_t
17855fbfabfSMarcel Cornu gen_icf_map_lh1(struct isal_zstream *stream, struct deflate_icf *matches_icf_lookup,
17955fbfabfSMarcel Cornu                 uint64_t input_size)
1804ae2d1beSRoy Oursler {
181*e3c2d243SMattias Ellert         return gen_icf_map_h1_base(stream, matches_icf_lookup, input_size);
182ed15402fSRoy Oursler }
183