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>2024-01-28 02:01:57 +0100
commitc80eca531e01860e6714f526b2efb07a58c2e26e (patch)
tree8b2ca4b071b6def5f2e9e85809b6bc25caa81586 /src/lib/j2k_encoder.h
parent3299d48531d631264dacd01faf1fa3c069b28e62 (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_;
};