Eidolon
98ce714614
hwr2: integrate avrecorder with RHI and legacy GL
2023-02-27 19:49:45 -06:00
James R
cea8a10007
media: fix incorrect usage of SRB2_ASSERT on functions with side effects
2023-02-24 19:21:01 -08:00
James R
bf8d90af8c
Don't use C++20 designated initializer (since we target C++17)
...
growl
2023-02-24 19:21:01 -08:00
James R
aefc12e40e
media/options: refactor cvar factory completely, ensure correct MIN/MAX order
2023-02-24 19:21:01 -08:00
James R
02fe7ec744
media: fix undefined behavior with options initialization order
...
Cvar vector was not guaranteed to initialize before
options for each encoder, potentially leading to no
encoder cvars being registered.
2023-02-24 19:21:01 -08:00
James R
860693936f
media/avrecorder: bias size limit by 1% to account for muxing overhead
2023-02-24 19:21:01 -08:00
James R
304e57cbf0
Add user feedback for AVRecorder
...
- real time monitoring of duration and esimated file size
- estimated frame rate of final video (encoder speed)
- print brief details of audio and video tracks upon
starting recording
- print exact file size and duration once recording is
finished
2023-02-24 19:21:01 -08:00
James R
840c11577e
Implement Software mode paletted screen conversion for AVRecorder
...
This is only necessary since HWR2's framebuffer is window
size (monitor resolution in fullscreen mode).
Once the framebuffer is changed to be native game
resolution, this commit should be reverted and a new
interface should be implemented to directly copy the
framebuffer's pixels into video frames.
2023-02-24 19:21:01 -08:00
James R
c65f4ff893
Add AVRecorder movie mode
2023-02-24 19:21:01 -08:00
James R
82251f6fb6
media: add core AVRecorder
...
Generic interface to audio and video encoders.
2023-02-24 19:21:00 -08:00
James R
654f97fa72
media: add WebM Vorbis and VP8 encoders
2023-02-24 19:21:00 -08:00
James R
60899133c1
media: add libwebm container
2023-02-24 19:21:00 -08:00
James R
b8015b4ad2
media: add libvpx VP8 encoder
2023-02-24 19:21:00 -08:00
James R
1415254131
media: add YUV420p module
...
Converts RGBA image to YUV420p, useful for most video
codecs.
2023-02-24 19:21:00 -08:00
James R
650264ea86
media: add libvorbis encoder
2023-02-24 19:21:00 -08:00
James R
e9f5a75d4a
media: add "options" cvar abstraction
2023-02-24 19:21:00 -08:00
James R
3b5245f974
Add basic multimedia container and encoder interfaces
...
Adds the media subdirectory.
2023-02-24 19:21:00 -08:00