LIBJXL: jxl/resizable_parallel_runner.h Source File

LIBJXL

Loading...
Searching...
No Matches
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
30#ifndef JXL_RESIZABLE_PARALLEL_RUNNER_H_
31#define JXL_RESIZABLE_PARALLEL_RUNNER_H_
32
33#include <jxl/jxl_threads_export.h>
34#include <jxl/memory_manager.h>
35#include <jxl/parallel_runner.h>
36#include <stddef.h>
37#include <stdint.h>
38#include <stdlib.h>
39
40#if defined(__cplusplus) || defined(c_plusplus)
41extern "C" {
42#endif
43
46JXL_THREADS_EXPORT JxlParallelRetCode JxlResizableParallelRunner(
47 void* runner_opaque, void* jpegxl_opaque, JxlParallelRunInit init,
48 JxlParallelRunFunction func, uint32_t start_range, uint32_t end_range);
49
54JXL_THREADS_EXPORT void* JxlResizableParallelRunnerCreate(
55 const JxlMemoryManager* memory_manager);
56
59JXL_THREADS_EXPORT void JxlResizableParallelRunnerSetThreads(
60 void* runner_opaque, size_t num_threads);
61
64JXL_THREADS_EXPORT uint32_t
65JxlResizableParallelRunnerSuggestThreads(uint64_t xsize, uint64_t ysize);
66
69JXL_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_ */
76
JxlParallelRunInit
JxlParallelRetCode(* JxlParallelRunInit)(void *jpegxl_opaque, size_t num_threads)
Definition parallel_runner.h:78
JxlParallelRetCode
int JxlParallelRetCode
Definition parallel_runner.h:52
JxlResizableParallelRunnerDestroy
JXL_THREADS_EXPORT void JxlResizableParallelRunnerDestroy(void *runner_opaque)
JxlResizableParallelRunnerCreate
JXL_THREADS_EXPORT void * JxlResizableParallelRunnerCreate(const JxlMemoryManager *memory_manager)
JxlResizableParallelRunnerSuggestThreads
JXL_THREADS_EXPORT uint32_t JxlResizableParallelRunnerSuggestThreads(uint64_t xsize, uint64_t ysize)
JxlResizableParallelRunner
JXL_THREADS_EXPORT JxlParallelRetCode JxlResizableParallelRunner(void *runner_opaque, void *jpegxl_opaque, JxlParallelRunInit init, JxlParallelRunFunction func, uint32_t start_range, uint32_t end_range)
JxlResizableParallelRunnerSetThreads
JXL_THREADS_EXPORT void JxlResizableParallelRunnerSetThreads(void *runner_opaque, size_t num_threads)
JxlParallelRunFunction
void(* JxlParallelRunFunction)(void *jpegxl_opaque, uint32_t value, size_t thread_id)
Definition parallel_runner.h:97
memory_manager.h
Abstraction functions used by JPEG XL to allocate memory.
parallel_runner.h
JxlMemoryManagerStruct
Definition memory_manager.h:51