OpenJPH
Open-source implementation of JPEG2000 Part-15
Toggle main menu visibility
Loading...
Searching...
No Matches
threaded_frame_processors.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) 2024, Aous Naman
6
// Copyright (c) 2024, Kakadu Software Pty Ltd, Australia
7
// Copyright (c) 2024, 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: threaded_frame_processors.h
34
// Author: Aous Naman
35
// Date: 23 April 2024
36
//***************************************************************************/
37
38
#ifndef THREADED_FRAME_PROCESSOR_H
39
#define THREADED_FRAME_PROCESSOR_H
40
41
#include "
ojph_threads.h
"
42
#include "
stream_expand_support.h
"
43
44
namespace
ojph
45
{
46
namespace
thds
47
{
class
thread_pool
; }
48
49
namespace
stex
50
{
51
53
//
54
//
55
//
56
//
57
//
59
60
/*****************************************************************************/
64
struct
j2k_frame_storer
:
public
thds::worker_thread_base
65
{
66
public
:
70
j2k_frame_storer
() {
71
file
= NULL;
72
name_template
= NULL;
73
}
74
77
~j2k_frame_storer
()
override
{}
78
79
public
:
87
void
init
(
stex_file
*
file
,
const
char
*
name_template
)
88
{
89
this->file =
file
;
90
this->name_template =
name_template
;
91
}
92
97
void
execute
()
override
;
98
99
private
:
100
stex_file
*
file
;
101
const
char
*
name_template
;
102
};
103
104
}
// !stex namespace
105
}
// !ojph namespace
106
107
#endif
// !THREADED_FRAME_PROCESSOR_H
ojph::thds::thread_pool
Implements a pool of threads, and can queue tasks.
Definition
ojph_threads.h:98
ojph::thds::worker_thread_base
A base object for queuing tasks in the thread_pool.
Definition
ojph_threads.h:69
ojph::stex
Definition
stream_expand_support.cpp:47
ojph::thds
Definition
ojph_threads.h:51
ojph
Definition
ojph_img_io.h:52
ojph_threads.h
stream_expand_support.h
ojph::stex::j2k_frame_storer::j2k_frame_storer
j2k_frame_storer()
default construction
Definition
threaded_frame_processors.h:70
ojph::stex::j2k_frame_storer::~j2k_frame_storer
~j2k_frame_storer() override
default destructor doing nothing
Definition
threaded_frame_processors.h:77
ojph::stex::j2k_frame_storer::init
void init(stex_file *file, const char *name_template)
call this function to initialize its members
Definition
threaded_frame_processors.h:87
ojph::stex::j2k_frame_storer::name_template
const char * name_template
a template for the target file name
Definition
threaded_frame_processors.h:101
ojph::stex::j2k_frame_storer::file
stex_file * file
a j2k codestream file with other variables
Definition
threaded_frame_processors.h:100
ojph::stex::j2k_frame_storer::execute
void execute() override
A thread from the thread_pool call this function to execute the task.
Definition
threaded_frame_processors.cpp:53
ojph::stex::stex_file
holds in memory j2k codestream together with other info
Definition
stream_expand_support.h:353
src
apps
ojph_stream_expand
threaded_frame_processors.h
Generated by
1.18.0