FFmpeg Video Texture
JVM video texture driven by direct javacpp-presets FFmpeg — no JavaCV wrapper. A worker thread runs the demux→decode→scale loop by hand:
av_read_frame→ AVPacketavcodec_send_packet/avcodec_receive_frame→ AVFrame in source pixel format(optional)
av_hwframe_transfer_data→ AVFrame in CPU-accessible formatsws_scale→ AVFrame in packed BGRACopy BGRA bytes into a heap ByteArray and push to the CallbackVideoTexture base.
Compare with JavaCvVideoTexture which does the same in ~50 lines via org.bytedeco.javacv.FFmpegFrameGrabber. The raw path exists for pedagogy and as a starting point for hardware acceleration / custom codec selection / frame seeking.
Runtime requirement: org.bytedeco:javacv-platform (or org.bytedeco:ffmpeg with the host classifier) on the classpath.
Properties
Caller opt-out for mipmap generation.
True after play if FFmpeg picked a hardware decoder for the source codec.