X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=futatabi%2Fvideo_stream.h;h=422b1522a28a993d056d5eea2344a05ce13243c6;hb=94a228f7473325130704e96c82937b690703615b;hp=d522ab1e8f5a98f9494004599b9c1aa2a74a76c0;hpb=7833c9657adc431872bee7ae739c88e54518bd9d;p=nageru diff --git a/futatabi/video_stream.h b/futatabi/video_stream.h index d522ab1..422b152 100644 --- a/futatabi/video_stream.h +++ b/futatabi/video_stream.h @@ -121,7 +121,7 @@ private: float alpha; BorrowedInterpolatedFrameResources resources; RefCountedGLsync fence; // Set when the interpolated image is read back to the CPU. - GLuint flow_tex, output_tex, cbcr_tex; // Released in the receiving thread; not really used for anything else. + GLuint flow_tex, output_tex, cbcr_tex; // Released in the receiving thread; not really used for anything else. flow_tex will typically even be from a previous frame. FrameOnDisk id; std::function display_func; // Called when the image is done decoding. @@ -146,6 +146,10 @@ private: std::unique_ptr interpolate, interpolate_no_split; std::unique_ptr chroma_subsampler; + // Cached flow computation from previous frame, if any. + GLuint last_flow_tex = 0; + FrameOnDisk last_frame1, last_frame2; + std::vector last_frame; };