Filippos Karapetis
2d9ec1ae70
IMAGE: Use C++ 11 range-based for loops
2025-03-27 13:47:57 +08:00
Matthew Jimenez
35b005bd2c
IMAGE: Use palette class in more codecs
2025-03-08 20:18:40 +02:00
Matthew Jimenez
b940265816
IMAGE: Use palette class in Cinepak decoder.
...
The Cinepak decoder had an unweighted euclidean color distance calculation for palette matching. This was moved and rewritten to a color distance method on the palette class.
2025-03-05 13:37:01 +02:00
Cameron Cawley
77523c844c
CONFIGURE: Make SVQ1 and QDM2 optional components
2025-03-03 07:31:41 +02:00
Cameron Cawley
1a3a290ce7
IMAGE: Improve default implementation of setOutputPixelFormat()
2025-03-03 07:30:22 +02:00
Cameron Cawley
4867e171bf
IMAGE: Add more validation for Codec::setOutputPixelFormat
2025-03-02 02:34:07 +02:00
Le Philousophe
532c112e4c
IMAGE: Fix undefined behaviours in Cinepak decoder
...
Left shifting a negative number is undefined (as it may eat the sign
bit).
Instead, multiply by 2 which is the same but properly defined.
Also fix the convertYUVToColor function signature as it takes int8
values.
2025-01-22 19:15:58 +01:00
Eugene Sandulenko
a7aec6c486
CONFIGURE: Implement mpeg2 as a component
2024-12-27 13:03:46 +01:00
Eugene Sandulenko
847c714e68
CONFIGURE: Split indeo into indeo3 and indeo45 components
...
Also, add indeo3 as a dependency to bbvs and add all codect to testbed
2024-12-27 12:40:26 +01:00
Eugene Sandulenko
a6e3feed61
CONFIGURE: Turned Indeo codecs into 'indeo' component
...
For Director engine it is marked as optional, since so far onnly
one game is using it.
This could lead to regressions since we were not tracking which
games use Indeo codecs since we added them in 2016 (Indeo 4&5) and
2010 (Indeo 3). So, there could be an AVI video which is now stops
playing and produces a warning. In this case, the 'indeo' component
must be added to the respective engine.
2024-12-26 01:10:14 +01:00
elasota
64a95c3b43
IMAGE: Add codec accuracy options
2024-09-04 10:14:05 +03:00
Donovan Watteau
630c764ac8
IMAGE: Fix ALIGN() macro redefinition warning on NDS
2024-08-11 16:33:53 +02:00
Paul Gilbert
3d71d8e08c
COMMON: Move huffman.h to common/compression/
2024-07-15 02:56:12 +02:00
Filippos Karapetis
8ee953e910
IMAGE: Fix compilation of MPEG decoder
2024-07-04 00:15:36 +03:00
Filippos Karapetis
7347a82df2
COMMON: Remove inttypes.h
...
It contains defines that should be available from scummsys.h.
Also, it contains defines to support ancient and
now unsupported versions of MSVC (2013 and earlier)
2024-07-04 00:03:15 +03:00
Filippos Karapetis
94d960597e
IMAGE: Whitespace fixes
2024-05-04 00:06:15 +02:00
Cameron Cawley
67fc0b6b7d
IMAGE: INDEO3: Make more use of aligned loads
2024-05-04 00:06:15 +02:00
Cameron Cawley
f55925e58a
IMAGE: INDEO3: Reduce the size of _corrector_type
2024-05-04 00:06:15 +02:00
Scott Percival
91857fecb4
IMAGES: Add Indeo 3 to QuickTime codec list
2024-04-25 00:54:17 +02:00
Cameron Cawley
604708ad98
IMAGE: Combine lookup tables for Cinepak with VFW dithering
2024-04-22 02:07:47 +02:00
Cameron Cawley
011e468fa1
IMAGE: Handle the surface pitch in Cinepak videos
2024-04-22 02:07:47 +02:00
Cameron Cawley
2cb46c19ed
IMAGE: Split Cinepak CodebookConverterRaw into 8bpp and 24bpp versions
2024-04-22 02:07:47 +02:00
Cameron Cawley
ed59ab8a3b
IMAGE: Make use of aligned loads and stores when dithering Cinepak videos
2024-04-22 02:07:47 +02:00
Cameron Cawley
f683ecbf7b
IMAGE: Cache the dithered Cinepak codebooks when using VFW-style dithering
2024-04-22 02:07:47 +02:00
Cameron Cawley
5b1b14ad80
COMMON: Mark more symbols as const
2023-12-26 20:23:59 +01:00
Cameron Cawley
b458cedca4
IMAGE: Speed up 16/24/32bpp BMP decoding
2023-05-14 22:53:33 +02:00
Miro Kropacek
67aea06893
IMAGE: Fix MSRLEDecoder if pitch > width
...
Fixes #14356 .
2023-05-14 22:41:41 +02:00
Thierry Crozat
d2d564125d
IMAGE: Add missing override keyword for setOutputPixelFormat
2023-04-05 22:24:46 +01:00
Cameron Cawley
9a6897a852
IMAGE: Allow the default pixel format to be changed for YUV codecs
2023-04-05 12:45:13 +02:00
Cameron Cawley
78faa2ae28
IMAGE: Defer creation of surface until decodeFrame() is called in Indeo codecs
2023-04-05 12:45:13 +02:00
Cameron Cawley
71030e2840
IMAGE: Use the screen pixel format by default for the Xan decoder
2023-03-24 21:34:16 +01:00
Eugene Sandulenko
6ee213d472
IMAGE: CODECS: Add override keyword
2023-03-03 23:23:49 +01:00
Cameron Cawley
d503d5530e
IMAGE: Compile the TrueMotion codec when the Testbed engine is enabled
2023-02-23 11:57:49 +00:00
Cameron Cawley
8da9cca186
IMAGE: Add override keywords for all codecs
2023-02-23 11:23:21 +00:00
grisenti
aa52aafe81
IMAGES: force alpha decoding for BMP images
2022-12-23 14:03:35 +01:00
Cameron Cawley
0581301b24
COMMON: Move huffman.h back out of the compression directory
2022-12-11 22:33:23 +01:00
elasota
cc11b531e3
JANITORIAL: Clean up all non-engine Visual Studio warnings.
2022-12-04 00:08:48 +01:00
Eugene Sandulenko
fb7095f5a4
COMMON: Move all compression-related files to a separate directory
2022-12-01 11:53:02 +01:00
Le Philousophe
32bd7cf446
IMAGE: Add missing initializer to HNM6 decoder
...
This clears static analysis error
2022-09-18 12:12:02 +02:00
Le Philousophe
5e2c6720a7
IMAGE: Cleanup HNM6 decoder
2022-09-18 12:11:44 +02:00
Le Philousophe
cf61337968
CRYOMNI3D: Build fixes in HNM6 and APC decoders
2022-08-30 11:43:06 +02: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
47755b4b38
COMMON: Make better use of inlining in BitStream functions
2022-08-28 00:05:31 +03:00
kevinlaurier
84a17ad9ae
IMAGE: Added support for 16 bit bitmap images, and check for RGB555
...
format
2022-01-23 21:38:33 +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
sluicebox
620dc8a1df
IMAGE: Fix BitmapRawDecoder constructor regression
...
Fixes parameter order mismatch between definition and declaration
introduced in: 5d093e725f
Fixes flipped QFG4 intro movie, bug #13059
2021-11-04 00:46:46 -05:00
lb_ii
236be25624
IMAGE: Parse 4bpp BMP files
2021-11-01 16:26:19 +02:00
lb_ii
5d093e725f
IMAGE: Extend raw decoder to support BMP with alpha channel
2021-11-01 16:25:43 +02:00
Eugene Sandulenko
8626c39b21
IMAGE: Fix SMC decoder
...
It is a regression introduced in 6fb49b6595 .
Because of this, we were not reading all the bytes from the source.
2021-08-10 20:51:42 +02:00