Rearrange encoder threading.
authorCarl Hetherington <cth@carlh.net>
Sat, 23 Sep 2023 22:34:15 +0000 (00:34 +0200)
committerCarl Hetherington <cth@carlh.net>
Wed, 18 Oct 2023 11:46:37 +0000 (13:46 +0200)
commit2ed3dadd6287859551fcbeaf85e09b0b3f1e8ff5
tree142f404f660cd794083a6db2ad8fae2f93819f5e
parent574b2871b30cc87dbf1bef1e784ec185ff8e19e6
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