|
|
||
|---|---|---|
| cmake-modules | ||
| img | ||
| include | ||
| notes | ||
| src | ||
| test | ||
| .gitignore | ||
| .gitmodules | ||
| CMakeLists.txt | ||
| LICENSE | ||
| README.md | ||
| compile.sh | ||
README.md
filmout_display
This repo contains the source code for the filmout_display binary that displays images on a screen for the purposes of creating analog moving images from digital sources.
This application will take over the full screen when launched and display frames as instructed with JSON objects sent over a TCP socket.
The purpose of this binary is to create a full-screen "digital shutter" that exposes images for precise amounts of time.
A digital shutter allows for a range of exposures that cheap, physical mechanical hardware is incapable of.
Capable of exposures as short as 1ms depending on the capabilities of the screen and graphics hardware driving it.
Features
- Display image full screen, maintaining aspect ratio of original
- Display image scaled for different capture requirements and stocks
- Display image for specified length of time in milliseconds
- Display image until instructed to stop
Future Goals
- Fix macOS support (currently doesn't work with high density displays)
- Handle 10bit Displays
Dependencies
Submodules
To clone this project with the malcolmhumphreys/dpx, nlohmann/json and Taywee/args submodules included:
git clone --recursive https://git.sixteenmillimeter.com/16mm/filmout_display.git
If you have already cloned this repo:
git submodule init
git submodule update
Installing on Debian-based systems
apt install cmake g++ freeglut3-dev libopencv-dev
Installing on macOS with Homebrew
brew install freeglut glew glfw glm opencv