Commit Graph

24 Commits

Author SHA1 Message Date
Cameron Cawley
8a4a5bdc55 VIDEO: Add setOutputPixelFormat() to the VideoDecoder interface 2023-04-05 12:45:13 +02:00
elasota
cc11b531e3 JANITORIAL: Clean up all non-engine Visual Studio warnings. 2022-12-04 00:08:48 +01:00
Le Philousophe
399e02e2a5 CRYOMNI3D: Add HNM6 image and video codec
This also adds a Cryo APC decoder in shared code.
2022-08-30 11:02:32 +02:00
Cameron Cawley
e934ddeed5 VIDEO: Fix playing HNM videos without sound 2022-06-26 15:29:11 +02:00
Le Philousophe
0c178b00f4 VIDEO: Make unsigned -1 looking better 2022-01-12 09:10:40 +01:00
Le Philousophe
dec0427eda VIDEO: Fix HNM audio desynchronization 2022-01-12 09:10:40 +01:00
Filippos Karapetis
e843e6447f VIDEO: Add one more missing initializer in HNMDecoder's constructor 2022-01-09 18:53:26 +02:00
Filippos Karapetis
a848dc0d26 VIDEO: Add missing initializer in the HMN decoder 2022-01-09 18:50:16 +02:00
Le Philousophe
7c03cf5c50 VIDEO: Optimize HNM5 copies slightly 2022-01-09 13:57:00 +01:00
Le Philousophe
b6a1d3cf37 VIDEO: Small optimization on HNM4A decoder 2022-01-09 13:24:50 +01:00
Le Philousophe
bcd0e6f354 VIDEO: Don't make use of Stream classes
This slows down everything because we do a lot of small reads.
Read the whole frame once and read in the buffer.
2022-01-09 11:53:51 +01:00
Le Philousophe
6352de724a VIDEO: Implement UBB2 (aka HNM5) decoding 2022-01-08 22:24:14 +01:00
Le Philousophe
3f01f8301c VIDEO: Fix audio stereo decoding.
The differential PCM is applied for each channel independently
2022-01-08 22:24:14 +01:00
Le Philousophe
97b474e78a VIDEO: Fix uint usage
unisgned int is guaranteed to be at least 16 bits not more
2022-01-08 22:24:14 +01:00
Le Philousophe
c6383c472e VIDEO: Rework HNM decoder to make it handle different versions of format
For now nothing new: HNM4(A) format is supported and HNM5 has a
placeholder.
2022-01-08 22:24:14 +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
Cameron Cawley
8744e2300b VIDEO: Initial support for UBB2 videos
Currently only handles the audio track.
2021-10-04 18:37:25 +02:00
Le Philousophe
9a31a8926c VIDEO: HNM channels attribute is not channels but some kind of format
Sound is mono when this attribute is at 2
2021-04-17 21:49:33 +03:00
Le Philousophe
bf7ddf6a70 VIDEO: HNM Postprocessing simplification
Don't pass flags to various decoding blocks thay don't need it.
Unifiy frame handling in a unique procedure which handles deinterlacing.
Don't memcpy with HNM4A frames, point the surface at framebuffer
2021-04-17 21:48:47 +03:00
Le Philousophe
0953a690f4 VIDEO: Fix HNM decoding
Bytes are both read before written
2021-04-17 21:48:46 +03:00
Cameron Cawley
f1e90ada2f VIDEO: Optimize HNM4 decoding slightly 2021-04-17 21:48:46 +03:00
Cameron Cawley
d38567bfd9 VIDEO: Support decoding older HNMv4 variants 2021-04-17 21:48:46 +03:00
Cameron Cawley
d9fe53efb2 CRYOMNI3D: Move HNMDecoder into common code 2021-04-17 21:48:45 +03:00