OpenJPH
Open-source implementation of JPEG2000 Part-15
Toggle main menu visibility
Loading...
Searching...
No Matches
ojph_block_encoder.h
Go to the documentation of this file.
1
//***************************************************************************/
2
// This software is released under the 2-Clause BSD license, included
3
// below.
4
//
5
// Copyright (c) 2019, Aous Naman
6
// Copyright (c) 2019, Kakadu Software Pty Ltd, Australia
7
// Copyright (c) 2019, The University of New South Wales, Australia
8
//
9
// Redistribution and use in source and binary forms, with or without
10
// modification, are permitted provided that the following conditions are
11
// met:
12
//
13
// 1. Redistributions of source code must retain the above copyright
14
// notice, this list of conditions and the following disclaimer.
15
//
16
// 2. Redistributions in binary form must reproduce the above copyright
17
// notice, this list of conditions and the following disclaimer in the
18
// documentation and/or other materials provided with the distribution.
19
//
20
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
21
// IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
22
// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
23
// PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24
// HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
26
// TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
27
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
//***************************************************************************/
32
// This file is part of the OpenJPH software implementation.
33
// File: ojph_block_encoder.h
34
// Author: Aous Naman
35
// Date: 17 September 2019
36
//***************************************************************************/
37
38
39
#ifndef OJPH_BLOCK_ENCODER_H
40
#define OJPH_BLOCK_ENCODER_H
41
42
#include "
ojph_defs.h
"
43
44
namespace
ojph
{
45
47
// defined elsewhere
48
class
mem_elastic_allocator
;
49
struct
coded_lists
;
50
51
namespace
local
{
52
54
void
55
ojph_encode_codeblock32
(
ui32
* buf,
ui32
missing_msbs,
ui32
num_passes,
56
ui32
width,
ui32
height,
ui32
stride,
57
ui32
* lengths,
58
ojph::mem_elastic_allocator *elastic,
59
ojph::coded_lists *& coded);
60
61
void
62
ojph_encode_codeblock64
(
ui64
* buf,
ui32
missing_msbs,
ui32
num_passes,
63
ui32
width,
ui32
height,
ui32
stride,
64
ui32
* lengths,
65
ojph::mem_elastic_allocator *elastic,
66
ojph::coded_lists *& coded);
67
68
void
69
ojph_encode_codeblock_avx2
(
ui32
* buf,
ui32
missing_msbs,
70
ui32
num_passes,
ui32
width,
ui32
height,
71
ui32
stride,
ui32
* lengths,
72
ojph::mem_elastic_allocator
* elastic,
73
ojph::coded_lists
*& coded);
74
75
void
76
ojph_encode_codeblock_avx512
(
ui32
* buf,
ui32
missing_msbs,
77
ui32
num_passes,
ui32
width,
ui32
height,
78
ui32
stride,
ui32
* lengths,
79
ojph::mem_elastic_allocator
*elastic,
80
ojph::coded_lists
*& coded);
81
82
bool
initialize_block_encoder_tables
();
83
bool
initialize_block_encoder_tables_avx2
();
84
bool
initialize_block_encoder_tables_avx512
();
85
}
86
}
87
88
#endif
// !OJPH_BLOCK_ENCODER_H
ojph::mem_elastic_allocator
Definition
ojph_mem.h:218
ojph::local
Definition
ojph_bitbuffer_read.h:53
ojph::local::initialize_block_encoder_tables_avx512
bool initialize_block_encoder_tables_avx512()
ojph::local::ojph_encode_codeblock32
void ojph_encode_codeblock32(ui32 *buf, ui32 missing_msbs, ui32 num_passes, ui32 width, ui32 height, ui32 stride, ui32 *lengths, ojph::mem_elastic_allocator *elastic, ojph::coded_lists *&coded)
Definition
ojph_block_encoder.cpp:542
ojph::local::ojph_encode_codeblock64
void ojph_encode_codeblock64(ui64 *buf, ui32 missing_msbs, ui32 num_passes, ui32 width, ui32 height, ui32 stride, ui32 *lengths, ojph::mem_elastic_allocator *elastic, ojph::coded_lists *&coded)
Definition
ojph_block_encoder.cpp:1026
ojph::local::ojph_encode_codeblock_avx2
void ojph_encode_codeblock_avx2(ui32 *buf, ui32 missing_msbs, ui32 num_passes, ui32 width, ui32 height, ui32 stride, ui32 *lengths, ojph::mem_elastic_allocator *elastic, ojph::coded_lists *&coded)
ojph::local::initialize_block_encoder_tables
bool initialize_block_encoder_tables()
Definition
ojph_block_encoder.cpp:258
ojph::local::initialize_block_encoder_tables_avx2
bool initialize_block_encoder_tables_avx2()
ojph::local::ojph_encode_codeblock_avx512
void ojph_encode_codeblock_avx512(ui32 *buf, ui32 missing_msbs, ui32 num_passes, ui32 width, ui32 height, ui32 stride, ui32 *lengths, ojph::mem_elastic_allocator *elastic, ojph::coded_lists *&coded)
ojph
Definition
ojph_img_io.h:52
ojph::ui64
uint64_t ui64
Definition
ojph_defs.h:56
ojph::ui32
uint32_t ui32
Definition
ojph_defs.h:54
ojph_defs.h
ojph::coded_lists
Definition
ojph_mem.h:202
src
core
coding
ojph_block_encoder.h
Generated by
1.18.0