]> git.sesse.net Git - nageru/blobdiff - jpeg_frame_view.h
Cache file descriptors when reading frames, for better readahead and fewer syscalls.
[nageru] / jpeg_frame_view.h
index bc36283774e987c69dd14692210722ac4d10bca8..38ffd412b61b5610cc68e8fa6e646e6901f68571 100644 (file)
@@ -21,7 +21,7 @@ enum CacheMissBehavior {
 };
 
 std::shared_ptr<Frame> decode_jpeg(const std::string &filename);
-std::shared_ptr<Frame> decode_jpeg_with_cache(FrameOnDisk id, CacheMissBehavior cache_miss_behavior, bool *did_decode);
+std::shared_ptr<Frame> decode_jpeg_with_cache(FrameOnDisk id, CacheMissBehavior cache_miss_behavior, FrameReader *frame_reader, bool *did_decode);
 
 class JPEGFrameView : public QGLWidget {
        Q_OBJECT
@@ -50,6 +50,10 @@ protected:
        void paintGL() override;
 
 private:
+       static void jpeg_decoder_thread_func();
+
+       FrameReader frame_reader;
+
        // The stream index of the latest frame we displayed.
        unsigned current_stream_idx = 0;