LIBJXL
resizable_parallel_runner.h
Go to the documentation of this file.
1 /* Copyright (c) the JPEG XL Project Authors. All rights reserved.
2  *
3  * Use of this source code is governed by a BSD-style
4  * license that can be found in the LICENSE file.
5  */
6 
28 #ifndef JXL_RESIZABLE_PARALLEL_RUNNER_H_
29 #define JXL_RESIZABLE_PARALLEL_RUNNER_H_
30 
31 #include <stddef.h>
32 #include <stdint.h>
33 #include <stdio.h>
34 #include <stdlib.h>
35 
36 #include "jxl/jxl_threads_export.h"
37 #include "jxl/memory_manager.h"
38 #include "jxl/parallel_runner.h"
39 
40 #if defined(__cplusplus) || defined(c_plusplus)
41 extern "C" {
42 #endif
43 
47  void* runner_opaque, void* jpegxl_opaque, JxlParallelRunInit init,
48  JxlParallelRunFunction func, uint32_t start_range, uint32_t end_range);
49 
54 JXL_THREADS_EXPORT void* JxlResizableParallelRunnerCreate(
55  const JxlMemoryManager* memory_manager);
56 
59 JXL_THREADS_EXPORT void JxlResizableParallelRunnerSetThreads(
60  void* runner_opaque, size_t num_threads);
61 
64 JXL_THREADS_EXPORT uint32_t
65 JxlResizableParallelRunnerSuggestThreads(uint64_t xsize, uint64_t ysize);
66 
69 JXL_THREADS_EXPORT void JxlResizableParallelRunnerDestroy(void* runner_opaque);
70 
71 #if defined(__cplusplus) || defined(c_plusplus)
72 }
73 #endif
74 
75 #endif /* JXL_RESIZABLE_PARALLEL_RUNNER_H_ */
JxlResizableParallelRunner
JXL_THREADS_EXPORT JxlParallelRetCode JxlResizableParallelRunner(void *runner_opaque, void *jpegxl_opaque, JxlParallelRunInit init, JxlParallelRunFunction func, uint32_t start_range, uint32_t end_range)
JxlParallelRetCode
int JxlParallelRetCode
Definition: parallel_runner.h:49
JxlParallelRunInit
JxlParallelRetCode(* JxlParallelRunInit)(void *jpegxl_opaque, size_t num_threads)
Definition: parallel_runner.h:74
JxlParallelRunFunction
void(* JxlParallelRunFunction)(void *jpegxl_opaque, uint32_t value, size_t thread_id)
Definition: parallel_runner.h:92
JxlResizableParallelRunnerSetThreads
JXL_THREADS_EXPORT void JxlResizableParallelRunnerSetThreads(void *runner_opaque, size_t num_threads)
JxlResizableParallelRunnerCreate
JXL_THREADS_EXPORT void * JxlResizableParallelRunnerCreate(const JxlMemoryManager *memory_manager)
memory_manager.h
Abstraction functions used by JPEG XL to allocate memory.
JxlMemoryManagerStruct
Definition: memory_manager.h:48
JxlResizableParallelRunnerSuggestThreads
JXL_THREADS_EXPORT uint32_t JxlResizableParallelRunnerSuggestThreads(uint64_t xsize, uint64_t ysize)
JxlResizableParallelRunnerDestroy
JXL_THREADS_EXPORT void JxlResizableParallelRunnerDestroy(void *runner_opaque)
parallel_runner.h