]> git.sesse.net Git - nageru/commit
Allow dynamic frame sizes for FFmpeg inputs.
authorSteinar H. Gunderson <sgunderson@bigfoot.com>
Mon, 13 May 2024 21:45:46 +0000 (23:45 +0200)
committerSteinar H. Gunderson <sgunderson@bigfoot.com>
Mon, 13 May 2024 21:45:46 +0000 (23:45 +0200)
commitf8ad37841d9aaea3e6cfda093fcce4e1ec40294f
treec81a1b5373066f31088fedf0442c0002331f0630
parentbb966861a939c3071f099d08e8a51afb63c36d3e
Allow dynamic frame sizes for FFmpeg inputs.

If we need a larger frame size than FRAME_SIZE for a frame,
simply reallocate it; we're allowed to sleep in this path.

This finally allows us to accept 2160p streams (assuming your
GPU is fast enough, of course), at the cost of having to make
an OpenGL context for each decoder thread (because allocating
frames in GPU memory requires making a PBO and stuff).
Unfortunately, we still cannot decode 2160p DeckLink frames
because there's no OpenGL context there, but it's a good start.
nageru/decklink_capture.cpp
nageru/defs.h
nageru/ffmpeg_capture.cpp
nageru/ffmpeg_capture.h
nageru/kaeru.cpp
nageru/mixer.cpp
nageru/pbo_frame_allocator.cpp
nageru/theme.cpp
nageru/theme.h