Rearrange encoder threading.
authorCarl Hetherington <cth@carlh.net>
Sat, 23 Sep 2023 22:34:15 +0000 (00:34 +0200)
committerCarl Hetherington <cth@carlh.net>
Mon, 16 Oct 2023 15:56:10 +0000 (17:56 +0200)
commit08a24998bb56f01942d49229210829c06c21277c
tree0db544af75950228308386baf69b63bc9d6c5909
parent2c210354e67da6d8bf1019595e8c6e6dcb442b9e
Rearrange encoder threading.

Soon we'll add a new encoder type, and the existing structure was
already creaking a bit at the seams while handling local and remote
encodes.  Here we split out an encoder thread and introduce the concept
of a "sync" thread (which blocks while the encoding is happening).
Later we'll have another type which submits the encode request to a
GPU and receives the reply back later.
23 files changed:
src/lib/cpu_j2k_encoder_thread.cc [new file with mode: 0644]
src/lib/cpu_j2k_encoder_thread.h [new file with mode: 0644]
src/lib/dcp_encoder.h
src/lib/encode_server.cc
src/lib/encode_server.h
src/lib/grok_j2k_encoder_thread.cc [new file with mode: 0644]
src/lib/grok_j2k_encoder_thread.h [new file with mode: 0644]
src/lib/j2k_encoder.cc
src/lib/j2k_encoder.h
src/lib/j2k_encoder_thread.cc [new file with mode: 0644]
src/lib/j2k_encoder_thread.h [new file with mode: 0644]
src/lib/j2k_sync_encoder_thread.cc [new file with mode: 0644]
src/lib/j2k_sync_encoder_thread.h [new file with mode: 0644]
src/lib/make_dcp.cc
src/lib/make_dcp.h
src/lib/remote_j2k_encoder_thread.cc [new file with mode: 0644]
src/lib/remote_j2k_encoder_thread.h [new file with mode: 0644]
src/lib/scope_guard.h
src/lib/transcode_job.h
src/lib/wscript
test/client_server_test.cc
test/j2k_encode_threading_test.cc [new file with mode: 0644]
test/wscript