[Scummvm-git-logs] scummvm master -> bfd09fc81b4a52b9fd679cbc3f6927132a6a42ae
sev-
noreply at scummvm.org
Thu Dec 26 00:10:26 UTC 2024
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
a6e3feed61 CONFIGURE: Turned Indeo codecs into 'indeo' component
bfd09fc81b CONFIGURE: Added 'hnm' video codec as a component
Commit: a6e3feed61450c18f59b29b4132e129a37c15bc4
https://github.com/scummvm/scummvm/commit/a6e3feed61450c18f59b29b4132e129a37c15bc4
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-12-26T01:10:14+01:00
Commit Message:
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.
Changed paths:
configure
engines/director/configure.engine
engines/gob/configure.engine
engines/ngi/configure.engine
engines/titanic/configure.engine
image/codecs/codec.cpp
image/module.mk
video/coktel_decoder.cpp
diff --git a/configure b/configure
index 4efb2bbdb64..3302f4c992b 100755
--- a/configure
+++ b/configure
@@ -290,6 +290,7 @@ _need_memalign=yes
_have_x86=no
_have_amd64=no
_imgui=yes
+_indeo=auto
# Add (virtual) features
add_feature 16bit "16bit color" "_16bit"
@@ -314,6 +315,7 @@ add_feature test_cxx11 "Test C++11" "_test_cxx11"
# Components are features which may be disabled if unused by the engines
add_component imgui "ImGui" "_imgui" "USE_IMGUI"
+add_component indeo "indeo" "_indeo" "USE_INDEO"
add_component lua "lua" "_lua" "USE_LUA"
add_component vpx "libvpx" "_vpx" "USE_VPX"
add_component theoradec "libtheoradec" "_theoradec" "USE_THEORADEC"
diff --git a/engines/director/configure.engine b/engines/director/configure.engine
index bbad175047d..fde78a9ff09 100644
--- a/engines/director/configure.engine
+++ b/engines/director/configure.engine
@@ -1,3 +1,3 @@
# This file is included from the main "configure" script
# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] [components]
-add_engine director "Macromedia Director" yes "" "" "highres" "imgui"
+add_engine director "Macromedia Director" yes "" "" "highres" "imgui indeo"
diff --git a/engines/gob/configure.engine b/engines/gob/configure.engine
index 9532cf76640..91ccf31426b 100644
--- a/engines/gob/configure.engine
+++ b/engines/gob/configure.engine
@@ -1,3 +1,3 @@
# This file is included from the main "configure" script
# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] [components]
-add_engine gob "Gobli*ns" yes "" "" "" "mt32emu"
+add_engine gob "Gobli*ns" yes "" "" "indeo" "mt32emu"
diff --git a/engines/ngi/configure.engine b/engines/ngi/configure.engine
index d3de6ef3918..86bceb33f13 100644
--- a/engines/ngi/configure.engine
+++ b/engines/ngi/configure.engine
@@ -1,3 +1,3 @@
# This file is included from the main "configure" script
# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] [components]
-add_engine ngi "Nikita Game Interface" yes "" "" "16bit highres"
+add_engine ngi "Nikita Game Interface" yes "" "" "16bit highres indeo"
diff --git a/engines/titanic/configure.engine b/engines/titanic/configure.engine
index e2c42c3454e..5773a367d8d 100644
--- a/engines/titanic/configure.engine
+++ b/engines/titanic/configure.engine
@@ -1,3 +1,3 @@
# This file is included from the main "configure" script
# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] [components]
-add_engine titanic "Starship Titanic" yes "" "" "16bit jpeg highres mad"
+add_engine titanic "Starship Titanic" yes "" "" "16bit jpeg highres mad indeo"
diff --git a/image/codecs/codec.cpp b/image/codecs/codec.cpp
index df90d17f911..1d733955c64 100644
--- a/image/codecs/codec.cpp
+++ b/image/codecs/codec.cpp
@@ -28,9 +28,13 @@
#include "image/codecs/bmp_raw.h"
#include "image/codecs/cdtoons.h"
#include "image/codecs/cinepak.h"
+
+#ifdef USE_INDEO
#include "image/codecs/indeo3.h"
#include "image/codecs/indeo4.h"
#include "image/codecs/indeo5.h"
+#endif
+
#include "image/codecs/jyv1.h"
#include "image/codecs/mjpeg.h"
#include "image/codecs/mpeg.h"
@@ -219,13 +223,30 @@ Codec *createBitmapCodec(uint32 tag, uint32 streamTag, int width, int height, in
return new MSVideo1Decoder(width, height, bitsPerPixel);
case MKTAG('c','v','i','d'):
return new CinepakDecoder(bitsPerPixel);
+
case MKTAG('I','V','3','2'):
+#ifdef USE_INDEO
return new Indeo3Decoder(width, height, bitsPerPixel);
+#else
+ warning("createBitmapCodec(): Indeo codecs are not compiled");
+ return 0;
+#endif
case MKTAG('I', 'V', '4', '1'):
case MKTAG('I', 'V', '4', '2'):
+#ifdef USE_INDEO
return new Indeo4Decoder(width, height, bitsPerPixel);
+#else
+ warning("createBitmapCodec(): Indeo codecs are not compiled");
+ return 0;
+#endif
case MKTAG('I', 'V', '5', '0'):
+#ifdef USE_INDEO
return new Indeo5Decoder(width, height, bitsPerPixel);
+#else
+ warning("createBitmapCodec(): Indeo codecs are not compiled");
+ return 0;
+#endif
+
case MKTAG('X', 'x', 'a', 'n'):
return new XanDecoder(width, height, bitsPerPixel);
#ifdef IMAGE_CODECS_TRUEMOTION1_H
@@ -281,8 +302,13 @@ Codec *createQuickTimeCodec(uint32 tag, int width, int height, int bitsPerPixel)
// Used my L-Zone-mac (Director game)
return new BitmapRawDecoder(width, height, bitsPerPixel, true, true);
case MKTAG('I','V','3','2'):
+#ifdef USE_INDEO
// Indeo 3: Used by Team Xtreme: Operation Weather Disaster (Spanish)
return new Indeo3Decoder(width, height, bitsPerPixel);
+#else
+ warning("createQuickTimeCodec(): Indeo codecs are not compiled");
+ return 0;
+#endif
default:
warning("Unsupported QuickTime codec \'%s\'", tag2str(tag));
}
diff --git a/image/module.mk b/image/module.mk
index 5bcc928f43a..5c811f8eeb8 100644
--- a/image/module.mk
+++ b/image/module.mk
@@ -21,9 +21,6 @@ MODULE_OBJS := \
codecs/codec.o \
codecs/hlz.o \
codecs/hnm.o \
- codecs/indeo3.o \
- codecs/indeo4.o \
- codecs/indeo5.o \
codecs/jyv1.o \
codecs/mjpeg.o \
codecs/msrle.o \
@@ -34,16 +31,23 @@ MODULE_OBJS := \
codecs/smc.o \
codecs/svq1.o \
codecs/truemotion1.o \
- codecs/xan.o \
- codecs/indeo/indeo.o \
- codecs/indeo/indeo_dsp.o \
- codecs/indeo/mem.o \
- codecs/indeo/vlc.o
+ codecs/xan.o
ifdef USE_MPEG2
MODULE_OBJS += \
codecs/mpeg.o
endif
+ifdef USE_INDEO
+MODULE_OBJS += \
+ codecs/indeo3.o \
+ codecs/indeo4.o \
+ codecs/indeo5.o \
+ codecs/indeo/indeo.o \
+ codecs/indeo/indeo_dsp.o \
+ codecs/indeo/mem.o \
+ codecs/indeo/vlc.o
+endif
+
# Include common rules
include $(srcdir)/rules.mk
diff --git a/video/coktel_decoder.cpp b/video/coktel_decoder.cpp
index 4b4bddb079a..5ef82b40cb2 100644
--- a/video/coktel_decoder.cpp
+++ b/video/coktel_decoder.cpp
@@ -36,7 +36,9 @@
#include "video/coktel_decoder.h"
+#ifdef USE_INDEO
#include "image/codecs/indeo3.h"
+#endif
#ifdef VIDEO_COKTELDECODER_H
@@ -1867,14 +1869,22 @@ void VMDDecoder::setXY(uint16 x, uint16 y) {
}
bool VMDDecoder::openExternalCodec() {
+#ifdef USE_INDEO
delete _codec;
+#endif
+
_codec = 0;
if (_externalCodec) {
if (_videoCodec == kVideoCodecIndeo3) {
+#ifdef USE_INDEO
_isPaletted = false;
_codec = new Image::Indeo3Decoder(_width, _height, g_system->getScreenFormat().bpp());
+#else
+ warning("VMDDecoder::openExternalCodec(): Indeo codecs are not compiled");
+ return false;
+#endif
} else {
warning("VMDDecoder::openExternalCodec(): Unknown video codec FourCC \"%s\"",
@@ -2236,7 +2246,9 @@ void VMDDecoder::close() {
delete[] _videoBuffer[1];
delete[] _videoBuffer[2];
+#ifdef USE_INDEO
delete _codec;
+#endif
_files.clear();
@@ -2442,6 +2454,7 @@ bool VMDDecoder::renderFrame(Common::Rect &rect) {
if (!getRenderRects(rect, realRect, fakeRect))
return false;
+#ifdef USE_INDEO
if (_externalCodec) {
if (!_codec)
return false;
@@ -2457,6 +2470,7 @@ bool VMDDecoder::renderFrame(Common::Rect &rect) {
renderBlockWhole(_surface, (const byte *)codecSurf->getPixels(), rect);
return true;
}
+#endif
uint8 srcBuffer = 0;
byte *dataPtr = _videoBuffer[srcBuffer];
@@ -2823,6 +2837,7 @@ uint32 VMDDecoder::getFlags() const {
}
Graphics::PixelFormat VMDDecoder::getPixelFormat() const {
+#ifdef USE_INDEO
if (_externalCodec) {
if (_codec)
return _codec->getPixelFormat();
@@ -2831,6 +2846,7 @@ Graphics::PixelFormat VMDDecoder::getPixelFormat() const {
// current screen format
return g_system->getScreenFormat();
}
+#endif
if (_blitMode > 0)
return g_system->getScreenFormat();
Commit: bfd09fc81b4a52b9fd679cbc3f6927132a6a42ae
https://github.com/scummvm/scummvm/commit/bfd09fc81b4a52b9fd679cbc3f6927132a6a42ae
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-12-26T01:10:14+01:00
Commit Message:
CONFIGURE: Added 'hnm' video codec as a component
Changed paths:
configure
engines/cryo/configure.engine
engines/cryomni3d/configure.engine
image/module.mk
video/module.mk
diff --git a/configure b/configure
index 3302f4c992b..9b1a7ae1785 100755
--- a/configure
+++ b/configure
@@ -291,6 +291,7 @@ _have_x86=no
_have_amd64=no
_imgui=yes
_indeo=auto
+_hnm=auto
# Add (virtual) features
add_feature 16bit "16bit color" "_16bit"
@@ -314,6 +315,7 @@ add_feature zlib "zlib" "_zlib"
add_feature test_cxx11 "Test C++11" "_test_cxx11"
# Components are features which may be disabled if unused by the engines
+add_component hnm "hnm" "_hnm" "USE_HNM"
add_component imgui "ImGui" "_imgui" "USE_IMGUI"
add_component indeo "indeo" "_indeo" "USE_INDEO"
add_component lua "lua" "_lua" "USE_LUA"
diff --git a/engines/cryo/configure.engine b/engines/cryo/configure.engine
index 1d13e9669db..f273889b83d 100644
--- a/engines/cryo/configure.engine
+++ b/engines/cryo/configure.engine
@@ -1,3 +1,3 @@
# This file is included from the main "configure" script
# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] [components]
-add_engine cryo "Lost Eden" no "" "" ""
+add_engine cryo "Lost Eden" no "" "" "hnm"
diff --git a/engines/cryomni3d/configure.engine b/engines/cryomni3d/configure.engine
index d457e936ee7..4691ed754e8 100644
--- a/engines/cryomni3d/configure.engine
+++ b/engines/cryomni3d/configure.engine
@@ -1,4 +1,3 @@
# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] [components]
-add_engine cryomni3d "Cryo Omni3D games" yes "versailles" "" "highres"
+add_engine cryomni3d "Cryo Omni3D games" yes "versailles" "" "highres hnm"
add_engine versailles "Versailles 1685" yes
-
diff --git a/image/module.mk b/image/module.mk
index 5c811f8eeb8..ed5a6b48e69 100644
--- a/image/module.mk
+++ b/image/module.mk
@@ -20,7 +20,6 @@ MODULE_OBJS := \
codecs/cinepak.o \
codecs/codec.o \
codecs/hlz.o \
- codecs/hnm.o \
codecs/jyv1.o \
codecs/mjpeg.o \
codecs/msrle.o \
@@ -49,5 +48,10 @@ MODULE_OBJS += \
codecs/indeo/vlc.o
endif
+ifdef USE_HNM
+MODULE_OBJS += \
+ codecs/hnm.o
+endif
+
# Include common rules
include $(srcdir)/rules.mk
diff --git a/video/module.mk b/video/module.mk
index 06e1d6e7275..8bee4bdfa1a 100644
--- a/video/module.mk
+++ b/video/module.mk
@@ -6,7 +6,6 @@ MODULE_OBJS := \
coktel_decoder.o \
dxa_decoder.o \
flic_decoder.o \
- hnm_decoder.o \
mpegps_decoder.o \
mve_decoder.o \
paco_decoder.o \
@@ -21,6 +20,11 @@ MODULE_OBJS += \
bink_decoder.o
endif
+ifdef USE_HNM
+MODULE_OBJS += \
+ hnm_decoder.o
+endif
+
ifdef USE_THEORADEC
MODULE_OBJS += \
theora_decoder.o
More information about the Scummvm-git-logs
mailing list