summaryrefslogtreecommitdiff
path: root/src/lib/j2k_encoder.h
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2023-07-06 23:09:08 +0200
committerCarl Hetherington <cth@carlh.net>2023-12-16 02:07:37 +0100
commit964cfede2ccf10f8af2c9dd83f24f790020c6162 (patch)
tree6c6be065c5e26d5a3dbea6db40c89b390d854c44 /src/lib/j2k_encoder.h
parent0927dfc1118e06d1f04c0a9efde6d185be2cb6f6 (diff)
Patch from Aaron Boxer adding initial support for GPU-powered J2K encoding via his tool "grok".
Diffstat (limited to 'src/lib/j2k_encoder.h')
-rw-r--r--src/lib/j2k_encoder.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/lib/j2k_encoder.h b/src/lib/j2k_encoder.h
index 63228a6b8..6df30a3f7 100644
--- a/src/lib/j2k_encoder.h
+++ b/src/lib/j2k_encoder.h
@@ -29,6 +29,7 @@
#include "cross.h"
+#include "dcp_video.h"
#include "enum_indexed_vector.h"
#include "event_history.h"
#include "exception_store.h"
@@ -41,8 +42,8 @@
#include <list>
#include <stdint.h>
+#include "grok_context.h"
-class DCPVideo;
class EncodeServerDescription;
class Film;
class Job;
@@ -70,8 +71,11 @@ public:
/** Called to pass a bit of video to be encoded as the next DCP frame */
void encode (std::shared_ptr<PlayerVideo> pv, dcpomatic::DCPTime time);
+ void pause(void);
+ void resume(void);
+
/** Called when a processing run has finished */
- void end ();
+ void end (bool isFinal);
boost::optional<float> current_encoding_rate () const;
int video_frames_enqueued () const;
@@ -107,6 +111,9 @@ private:
boost::optional<dcpomatic::DCPTime> _last_player_video_time;
boost::signals2::scoped_connection _server_found_connection;
+
+ grk_plugin::DcpomaticContext dcpomaticContext_;
+ grk_plugin::GrokContext *context_;
};