Commit graph

33 commits

Author SHA1 Message Date
Ricardo Luís Vaz Silva
64ffe9b97b skip frames when playing back IVF to prevent desyncs 2024-04-17 20:35:49 -04:00
Ricardo Luís Vaz Silva
5b2673f469 add 444/422/440 support to vp9, remove extra copy of image data 2024-04-17 20:35:49 -04:00
Sean Baggaley
06566c010b Add support for the VP9 codec in the IVF container 2024-04-17 20:35:49 -04:00
Chris Robinson
f12bf069f0 Allow larger denominators for IVF movies 2024-04-17 20:24:10 -04:00
Christoph Oelckers
15e9c95419 fixed playback of external sound files over cutscenes when started from the console. 2024-01-04 18:22:24 +01:00
Christoph Oelckers
df3e82d94c cleaned up some redundant file reads and fixed file opening in the movie player.
As a streaming action this cannot borrow the one from the archive.
2023-12-14 17:22:31 +01:00
Christoph Oelckers
fe106d9bfe merge FileData and ResourceData. 2023-12-14 17:22:29 +01:00
Christoph Oelckers
96b3f1f5e0 removed unused variable in M_FindResponseFile and added file length check in ANM player. 2023-12-10 11:55:42 +01:00
Christoph Oelckers
fc84579319 let FileReader::Read return an opaque buffer instead of std::vector.
This can later allow returning a pointer to a static buffer from a cache without creating copies.
2023-12-10 09:07:49 +01:00
Christoph Oelckers
7a5a2858a2 yet even more GetChars calls added. 2023-10-07 23:29:24 +02:00
Christoph Oelckers
21d6eb99eb use std::vector as return value for the FileReader's buffer readers. 2023-08-22 22:18:21 +02:00
Christoph Oelckers
d173c0453c - handle all remaining places of sound ID conversions after removing the conversion operators. 2022-11-24 23:52:52 +01:00
Chris Robinson
9aee7415eb Sync movie video playback to the audio, when possible 2022-10-14 07:10:06 +02:00
Chris Robinson
d2f8c57136 Make frame timing consistent between movie players 2022-10-10 08:33:23 +02:00
Chris Robinson
bf2e7c210d Use a MovieAudioTrack for synchronized audio with MvePlayer 2022-10-10 08:33:23 +02:00
Chris Robinson
573784b37f Handle the SoundStream in MvePlayer instead of InterplayDecoder 2022-10-10 08:33:23 +02:00
Chris Robinson
80bf62cb3c Start the VPX audio track on the first frame
MoviePlayer::Start is called about a second (potentially) before
MoviePlayer::Frame starts getting called to actually play the video, causing
the audio to start early and require significant synchronization adjustment.
This isn't ideal to constantly check if the audio track needs to play in
MoviePlayer::Frame, but it's better than starting prematurely.
2022-10-10 08:33:23 +02:00
Chris Robinson
5e465a65e2 Make a common class to help with movie audio streams 2022-10-10 08:33:23 +02:00
Chris Robinson
d11e2ef1ac Always output 16-bit samples from SmackerDecoder 2022-10-10 08:33:23 +02:00
Chris Robinson
1a692f5c28 Synchronize Smacker movie audio tracks 2022-10-10 08:33:23 +02:00
Chris Robinson
5d00b96e5f Read Smacker video and audio data separately 2022-10-10 08:33:23 +02:00
Chris Robinson
7401e02a14 Include the source latency for movie audio synchronization 2022-10-10 08:33:23 +02:00
Chris Robinson
c825ff3543 Use a more reasonable buffer size for the movie audio stream 2022-10-10 08:33:23 +02:00
Chris Robinson
a2f0c1aee6 Update the audio offset when skipping a full update 2022-10-10 08:33:23 +02:00
Chris Robinson
1a233b08c3 Synchronize the VPX "soundtrack" with the frame clock 2022-10-10 08:33:23 +02:00
Chris Robinson
c808aad595 Play the VPX "soundtrack" as a SoundStream 2022-10-10 08:33:23 +02:00
Christoph Oelckers
b225a910a0 - Backend update from Raze 2022-10-09 13:44:43 +02:00
Christoph Oelckers
c62e14d2c1 - Backend update from Raze
Mostly cleanup and better separation of game/backend concerns.
2022-06-06 12:09:29 +02:00
Christoph Oelckers
0ee1cc85ec - fixed: The IVF decoder never accounted for odd dimensions when applying the UV subsampling.
To simplify the code the 'optimized' loop was replaced with one iterating over all pixels - even in the worst of cases the little savings are hardly performance relevant.
2022-06-05 08:09:50 +02:00
Christoph Oelckers
7ed8d3b3e2 - screenjob. fixes from Raze 2022-04-26 20:50:35 +02:00
Christoph Oelckers
d994369fd0 - timer code fixes. 2022-04-26 20:50:35 +02:00
Christoph Oelckers
5aaabbeb01 - did some project file cleanup. 2022-04-26 20:50:34 +02:00
Christoph Oelckers
69a7715a02 - added all the prerequisites for the cutscene system from Raze:
* libvpx library
* libsmackerdec
* playmve
* MoviePlayer class.
* ScreenJob engine core.
2022-04-26 20:50:34 +02:00