Rearrange encoder threading.
authorCarl Hetherington <cth@carlh.net>
Sat, 23 Sep 2023 22:34:15 +0000 (00:34 +0200)
committerCarl Hetherington <cth@carlh.net>
Sun, 28 Jan 2024 01:01:57 +0000 (02:01 +0100)
commitf8d0dac871883c7cbfa6f31c182ca3e6d213aed1
tree6bc2c82776d66380382cbfb76940463c950f4b6e
parent25dd85d10a05b363f5f6a94d6dafbf4aed47c4ac
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.
22 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/transcode_job.h
src/lib/wscript
test/client_server_test.cc
test/j2k_encode_threading_test.cc [new file with mode: 0644]
test/wscript