LIBJXL
thread_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 
30 #ifndef JXL_THREAD_PARALLEL_RUNNER_H_
31 #define JXL_THREAD_PARALLEL_RUNNER_H_
32 
33 #include <stddef.h>
34 #include <stdint.h>
35 #include <stdio.h>
36 #include <stdlib.h>
37 
38 #include "jxl/jxl_threads_export.h"
39 #include "jxl/memory_manager.h"
40 #include "jxl/parallel_runner.h"
41 
42 #if defined(__cplusplus) || defined(c_plusplus)
43 extern "C" {
44 #endif
45 
49  void* runner_opaque, void* jpegxl_opaque, JxlParallelRunInit init,
50  JxlParallelRunFunction func, uint32_t start_range, uint32_t end_range);
51 
55 JXL_THREADS_EXPORT void* JxlThreadParallelRunnerCreate(
56  const JxlMemoryManager* memory_manager, size_t num_worker_threads);
57 
60 JXL_THREADS_EXPORT void JxlThreadParallelRunnerDestroy(void* runner_opaque);
61 
65 JXL_THREADS_EXPORT size_t JxlThreadParallelRunnerDefaultNumWorkerThreads();
66 
67 #if defined(__cplusplus) || defined(c_plusplus)
68 }
69 #endif
70 
71 #endif /* JXL_THREAD_PARALLEL_RUNNER_H_ */
72 
void(* JxlParallelRunFunction)(void *jpegxl_opaque, uint32_t value, size_t thread_id)
Definition: parallel_runner.h:95
JXL_THREADS_EXPORT size_t JxlThreadParallelRunnerDefaultNumWorkerThreads()
Abstraction functions used by JPEG XL to allocate memory.
JXL_THREADS_EXPORT JxlParallelRetCode JxlThreadParallelRunner(void *runner_opaque, void *jpegxl_opaque, JxlParallelRunInit init, JxlParallelRunFunction func, uint32_t start_range, uint32_t end_range)
JXL_THREADS_EXPORT void JxlThreadParallelRunnerDestroy(void *runner_opaque)
JxlParallelRetCode(* JxlParallelRunInit)(void *jpegxl_opaque, size_t num_threads)
Definition: parallel_runner.h:77
Definition: memory_manager.h:51
int JxlParallelRetCode
Definition: parallel_runner.h:52
JXL_THREADS_EXPORT void * JxlThreadParallelRunnerCreate(const JxlMemoryManager *memory_manager, size_t num_worker_threads)