19 Commits

Author SHA1 Message Date
Eugene Sandulenko fbf17d6ab9 VIDEO: Comment out unused variable in Paco decoder 2026-02-20 19:07:51 +01:00
Scott Percival eaea9cd636 VIDEO: Improve performance of PacoDecoder
Previously, audio would pop due to buffer underruns between frames.
New approach is to have two substreams, so the audio can be buffered
independently from the video.
2026-02-13 00:36:22 +01:00
Filippos Karapetis 7cb70d585f VIDEO: Use C++ 11 range-based for loops 2025-03-27 13:47:57 +08:00
Matthew Jimenez b3ab2e0774 VIDEO: Use palette class in PACo decoder 2025-03-10 19:03:23 +02:00
Eugene Sandulenko 531e1effbd VIDEO: Switched decoder debug output to 'gvideo' debug channel 2025-02-22 15:51:24 +01:00
Hubert Maier c5da37d153 JANITORIAL: Fix pallete typo in paco_decoder.cpp 2024-05-18 13:52:31 +02:00
Scott Percival 1d44f6892b VIDEO: PACo decoder: Add bounds and null checks
Fixes playback of various videos in Hell Cab.
2024-04-25 00:54:17 +02:00
Scott Percival 9d574a9e0e DIRECTOR: Add Paco video player for Hell Cab 2024-04-25 00:54:17 +02:00
Roland van Laar 5bf1cc00ff VIDEO: PACo decoder: Fix coverity issues
Remove unused integer _frameDelay:
    Fixes COVERITY: 1476344
Initialize Non-static class members on PacoDecoder:
    Fixes COVERITY: 1476353
Resource leak in object No destructor on PacoAudioTrack:
    Fixes COVERITY: 1476360

Fix memory leak in handleFrame. Delete copied data in fdata.
2022-09-27 09:57:57 +02:00
Roland van Laar 80f4f670f9 VIDEO: PACo decoder: skip lines in ouput
The amount of lines to skip is in `len`. This wasn't taken into account
when decoding the endcurrentline opcode.

Thanks to Kostya for resolving the issue.
2022-03-07 18:56:00 +01:00
Orgad Shaneh 6edd4656fb VIDEO: Fix compiler warnings on Windows 2022-03-06 18:34:52 +02:00
Roland van Laar 54240bdac6 VIDEO: PACo decoder: Add audio support
PACo audio is single channel 8 bit unsigned pcm.
The first sound packet is read to determine the sampling rate.
2022-03-05 22:11:40 +01:00
Roland van Laar e931a1a985 VIDEO: PACo decoder: refactor for audio track
A PACo 'frame' has both the audio and video part of the frame. Where decodeNextFrame only handles video, readNextPacket enables the option to read a PACo frame and decode and queue both audio and video.
2022-03-05 22:11:40 +01:00
Roland van Laar f89084dd39 VIDEO: PACo decoder up debug level
PACo decoder for frames work aside from some artifacts.
Always outputting debug info is no longer needed.
2022-03-01 17:09:01 +01:00
Roland van Laar 810792195a VIDEO: PACo decoder: support custom palettes
Custom palettes inside PACo files are now parsed and imported.
2022-03-01 17:09:01 +01:00
Roland van Laar d9222bed62 VIDEO: PACo decoder: fix dirty rect handler
Rects are left, top, right, bottom. Not left, top, width, height.
2022-03-01 17:09:01 +01:00
Roland van Laar 6a3b192ead VIDEO: PACo decoder framerate and palette
Move the VideoTrack to FixedRateVideoTrack. It handles frame duration
internally and removes the need to use nextFrameStartTime accounting.

Add getPalette function.
2022-02-28 19:33:37 +01:00
Eugene Sandulenko 9a1aff9cf4 JANITORIAL: Fix indentation 2022-02-21 22:19:37 +01:00
Roland van Laar 24b7267b8b VIDEO: Implement decoder for PACo files
The code decodes PACo video frames.
Other features, such as audio and palette changes are detected
but not handled.

Format documentation: https://wiki.multimedia.cx/index.php?title=PACo
Thanks to Kostya for reverse engineering the format and the original C
code.
2022-02-21 19:11:28 +01:00