90 Commits

Author SHA1 Message Date
Helco 68fda06fd3 VIDEO: Graceful fail on unsupported codecs or AVI tags 2025-10-15 21:09:46 +03:00
Matthew Jimenez 95f4741f93 VIDEO: Use palette class in AVI decoder 2025-03-09 17:29:24 +02:00
Eugene Sandulenko 895d6f5b65 VIDEO: AVI: Silently skip zero size files 2025-03-05 00:27:52 +01:00
Eugene Sandulenko 531e1effbd VIDEO: Switched decoder debug output to 'gvideo' debug channel 2025-02-22 15:51:24 +01:00
elasota ac0688bf61 VIDEO: Add codec accuracy options 2024-09-04 10:14:05 +03:00
Cameron Cawley 8a4a5bdc55 VIDEO: Add setOutputPixelFormat() to the VideoDecoder interface 2023-04-05 12:45:13 +02:00
elasota 8f8836617b VIDEO: Increase stream name capacity to deal with long (67 character) stream names in Reah 2023-02-21 17:16:53 +01:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Orgad Shaneh 7a4e5612de JANITORIAL: Replace new[]/memset with new[]()
Mostly done using the following Ruby script:

(Dir.glob('**/*.cpp') + Dir.glob('**/*.h')).each do |file|
  s = File.read(file, encoding: 'iso8859-1')
  t = s.gsub(/(([\w_.\[\]]+)\s*=\s*new\s+\S+?\[[^\]]+?\](?!\())([^\{\}]*?)\n\s+memset\(\s*\2\s*,\s*0\s*,[^;]*;/m, '\1()\3')
  if t != s
    File.open(file, 'w') { |io| io.write(t) }
  end
end
2021-11-10 19:53:15 +01:00
Paul Gilbert f73034d55b AGS: Skip videos with unsupported video tracks rather than erroring 2021-09-25 10:28:47 -07:00
Matthew Duggan a20b8781e1 VIDEO: Add support for Xan codec videos (Crusader, Wing Commander) 2021-03-14 19:16:24 +01:00
Eugene Sandulenko b1f889f03d VIDEO: Skip another chunk in AVI videos 2021-02-12 00:41:36 +01:00
SupSuper 872a547230 AUDIO: Combine WaveFormat enums under one header 2021-02-05 21:16:11 +02:00
Matthew Duggan 818e681746 IMAGE: Add support for Crusader: No Remorse movie decoding
The movies for Crusader: No Remorse have a unique decoder which is not too hard
to implement.  Unfortunately, they don't properly implement the "compression"
FourCC, and instead put their ID in the "Stream Handler".  Since supporting
them requires a change to the existing Image API, I thought I should make a
pull request for comments.

With this change, the movies in Crusader can all be played nicely.
2020-05-11 07:54:24 +02:00
Eric Fry 2d836d4ec0 VIDEO: Warn instead of error when unhandled TXTS stream found in AVI 2018-07-20 06:43:33 +00:00
Paul Gilbert be208264dd VIDEO: Fix reverse playback right to the very start of the video 2017-09-04 12:03:34 -04:00
Paul Gilbert e72a1d7c46 VIDEO: Simplify AVIDecoder reverse playback special handling 2017-09-03 19:52:48 -04:00
Paul Gilbert 22e24d7c0b VIDEO: Fix reverse playback in AVIDecoder 2017-09-03 17:29:09 -04:00
Bastien Bouclet ec49730711 VIDEO: Allow setting the mixer sound type used to play audio tracks 2017-07-27 06:40:07 +02:00
Paul Gilbert 371a594b8d VIDEO: Fix AVIDecoder skipping alternate frames in reverse playback 2017-07-22 21:02:26 -04:00
Paul Gilbert 2838776c4b VIDEO: Refactor AVIDecoder for better handling of transparency track
A lot of the standard VideoDecoder methods were still treating the
transparency track as part of the video, so methods like getFrameCount
would return double the amount it should be. This refactoring properly
separates the transparency track into a separate field entirely.
2017-06-30 21:31:17 -04:00
Paul Gilbert 680b668614 VIDEO: Fix transparency track seeking in AVIDecoder 2017-06-25 20:48:12 -04:00
D G Turner cff454d5e7 VIDEO: Fix Two Further Signed vs. Unsigned Compiler Warnings. 2017-01-10 03:23:31 +00:00
Paul Gilbert cc4ede6509 VIDEO: Further work on 2-track AVI videos
It turns out that at least one video in Starship Titanic, for the
Lift Indicator, has only a single transparency frame in track 2.
The added code, therefore, when it doesn't find an index entry
for the desired frame number, works backwards until it finds a valid
frame (likely frame 0), and then scans forward. If it hits the end
of the video, then it simply uses whatever last frame it last decoded.
2016-12-29 22:23:16 -05:00
Paul Gilbert 2e8c80cf58 VIDEO: Add support for AVI 2-track videos with missing track 2 indexes 2016-12-29 16:54:13 -05:00
Paul Gilbert 0c200e833e VIDEO: Add reverse playback support to AviDecoder 2016-12-05 23:15:44 -05:00
Paul Gilbert a333f3c44c VIDEO: Support rewind on AVI files with multiple video tracks 2016-10-12 20:09:36 -04:00
Paul Gilbert c45b11f849 VIDEO: Fix video playback for zvision AVI videos 2016-10-11 21:05:58 -04:00
Paul Gilbert 293147345f VIDEO: Simplify AVIDecoder index handling for second video track 2016-10-03 07:41:44 -04:00
Paul Gilbert c676ecb258 VIDEO: Implement seeking for AVI videos with a transparency video track 2016-10-02 20:22:53 -04:00
Paul Gilbert 3d25e260f7 TITANIC: Fix AVIDecoder to properly handle transparency video tracks 2016-10-02 14:24:40 -04:00
Paul Gilbert 28b2609b92 TITANIC: Remove track select logic from AVIDecoder 2016-10-02 08:20:10 -04:00
Eugene Sandulenko 9d3a2c1c7f Merge pull request #786 from dreammaster/titanic
TITANIC: Starship Titanic engine
2016-08-01 00:27:28 +03:00
Eugene Sandulenko 7b7b1cf0d6 VIDEO: Hid verbose debug output deeper 2016-07-25 23:24:42 +03:00
Paul Gilbert bb2d290dca VIDEO: Handle STRN chunks in AVI file streams to set stream name 2016-07-17 13:09:20 -04:00
Paul Gilbert fa6e12aaab VIDEO: Add support for a track filtering callback function
This is needed for Starship Titanic, where videos can have a secondary
video track. It was simpler to use the callback as a means to select
one video track each across two decoders than trying to make VideoDecoder
and/or AVIDecoder support decoding from multiple video tracks simultaneously
2016-07-17 13:08:31 -04:00
Paul Gilbert 62f2763bf7 VIDEO: Respect RIFF filesize field when decoding AVI files
Starship Titanic in particular needs this, since some of the videos
have extra junk at the end of the file, such as ycursors.avi,
and parsing fails if we don't respect the filesize field
2016-07-15 19:27:42 -04:00
Matthew Hoops 561d1a1d62 VIDEO: Switch to all packetized streams for AVI
ZVision does not currently, but that's OK
2015-08-30 21:01:39 -04:00
Matthew Hoops de2f4e6982 VIDEO: Add support for MP3 in AVI 2015-08-30 19:53:53 -04:00
Matthew Hoops f342d63431 IMAGE: Allow for choosing dither type 2015-04-11 14:36:37 -04:00
Matthew Hoops cfc64157a0 VIDEO: Allow AVI tracks to be dithered via the Codec
Video for Windows made the Codec do the dithering work
2015-04-11 14:36:26 -04:00
Matthew Hoops dfc3bcae20 VIDEO: Separate AVI video and audio track reading
Relying on the videos to have 'initial frames' for audio tracks is not the best way to handle AVI videos. Now videos without initial frames (or broken interleaving) will buffer properly.
2014-11-02 20:15:06 -05:00
Filippos Karapetis b845d41d16 VIDEO: Remove trailing whitespace 2014-10-28 15:38:51 +02:00
Matthew Hoops b2676c412d VIDEO: Fix seeking in AVI videos with no initial audio frames 2014-09-28 15:29:42 -04:00
Eugene Sandulenko 8d70dd68ac AUDIO: Added stup for MP3 audiostreams in AVI
This is used in German release of Full Pipe. Unfortunately our
current MP3 decoder cannot work with streamed MP3s, and bails out
at the AVI header since there is no full MP3 header yet.
2014-06-08 22:54:07 +03:00
Matthew Hoops 1ea4b36c3b VIDEO: Document PRMI as being Premiere metadata 2014-05-27 23:57:39 -04:00
Matthew Hoops 5891ef4d89 VIDEO: Handle Truemotion dimensions specially
Truemotion uses its own demuxer and seems to follow its own AVI rules. Work around it by coercing the video's dimensions to use the codec's internal dimensions.
2014-05-27 00:09:11 -04:00
Matthew Hoops 5e715f244b VIDEO: Handle the raw AVI video chunk the same as the others 2014-03-02 20:59:00 -05:00
Matthew Hoops 05e9ff136a IMAGE: Share the same pool of codecs between bitmap and AVI 2014-02-28 00:32:06 -05:00
Matthew Hoops 231a02c759 VIDEO: Use the bitmap header compression field for AVI codecs 2014-02-28 00:32:06 -05:00