OpenJPH
Open-source implementation of JPEG2000 Part-15
threaded_frame_processors.cpp
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.cpp
34// Author: Aous Naman
35// Date: 23 April 2024
36//***************************************************************************/
37
39
40namespace ojph
41{
42namespace stex
43{
44
46//
47//
48//
49//
50//
52
54{
55 //printf("saving file with index %d\n", file->frame_idx);
56 char buf[128], name[128];
57 snprintf(buf, 128, "%s.j2c", file->name_template);
58 snprintf(name, 128, buf, file->frame_idx);
59 file->f.write_to_file(name);
61}
62
63} // !stex namespace
64} // !ojph namespace
void write_to_file(const char *file_name) const
Call this function to write the memory file data to a file.
Definition: ojph_file.cpp:186
stex_file * file
a j2k codestream file with other variables
void execute() override
A thread from the thread_pool call this function to execute the task.
const char * name_template
name template for saved files
ojph::mem_outfile f
holds in-memory j2k codestream
ui32 frame_idx
frame number in the sequence
void notify_file_completion()
other threads can call this function to signal completion of processing.