aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--AUTHORS3
-rw-r--r--NEWS1
-rw-r--r--backends/events/openpandora/op-events.cpp33
-rw-r--r--backends/platform/openpandora/op-options.cpp5
-rwxr-xr-xconfigure45
-rwxr-xr-xdevtools/credits.pl3
-rw-r--r--engines/configure.engines2
-rw-r--r--engines/lastexpress/data/background.cpp1
-rw-r--r--engines/lastexpress/data/subtitle.cpp6
-rw-r--r--engines/lastexpress/debug.cpp93
-rw-r--r--engines/lastexpress/debug.h3
-rw-r--r--engines/lastexpress/entities/abbot.cpp26
-rw-r--r--engines/lastexpress/entities/abbot.h8
-rw-r--r--engines/lastexpress/entities/august.cpp2
-rw-r--r--engines/lastexpress/entities/chapters.cpp2
-rw-r--r--engines/lastexpress/entities/chapters.h2
-rw-r--r--engines/lastexpress/entities/entity.cpp27
-rw-r--r--engines/lastexpress/entities/entity.h23
-rw-r--r--engines/lastexpress/entities/verges.cpp164
-rw-r--r--engines/lastexpress/entities/verges.h26
-rw-r--r--engines/lastexpress/fight/fight.cpp2
-rw-r--r--engines/lastexpress/game/action.cpp4
-rw-r--r--engines/lastexpress/game/beetle.cpp5
-rw-r--r--engines/lastexpress/game/entities.cpp4
-rw-r--r--engines/lastexpress/game/entities.h2
-rw-r--r--engines/lastexpress/game/inventory.cpp6
-rw-r--r--engines/lastexpress/game/logic.cpp1
-rw-r--r--engines/lastexpress/game/savegame.cpp47
-rw-r--r--engines/lastexpress/game/savegame.h4
-rw-r--r--engines/lastexpress/game/savepoint.cpp4
-rw-r--r--engines/lastexpress/game/scenes.cpp2
-rw-r--r--engines/lastexpress/game/scenes.h2
-rw-r--r--engines/lastexpress/menu/menu.cpp4
-rw-r--r--engines/lastexpress/sound/entry.cpp4
-rw-r--r--engines/lastexpress/sound/queue.cpp6
-rw-r--r--engines/scumm/proc3ARM.s89
-rw-r--r--graphics/decoders/tga.cpp424
-rw-r--r--graphics/decoders/tga.h98
-rw-r--r--graphics/module.mk3
-rw-r--r--gui/credits.h3
-rw-r--r--gui/themes/translations.datbin345659 -> 370908 bytes
-rw-r--r--po/ca_ES.po234
-rw-r--r--po/gl_ES.po3092
-rw-r--r--video/avi_decoder.cpp19
-rw-r--r--video/codecs/svq1.cpp8
-rw-r--r--video/codecs/svq1_cb.h2900
-rw-r--r--video/video_decoder.cpp25
-rw-r--r--video/video_decoder.h1
48 files changed, 5586 insertions, 1882 deletions
diff --git a/AUTHORS b/AUTHORS
index e2c28b4ba6..de78526302 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -411,6 +411,9 @@ Other contributions
French:
Thierry Crozat
+ Galician:
+ Santiago G. Sanz
+
German:
Simon Sawatzki
Lothar Serra Mari
diff --git a/NEWS b/NEWS
index fc5ad8a67e..1f736aa74f 100644
--- a/NEWS
+++ b/NEWS
@@ -8,6 +8,7 @@ For a more comprehensive changelog of the latest experimental code, see:
available and used for games without thumbnail support. It is possible to
select the old one as default too.
- Rewrote VideoDecoder subsystem.
+ - Added Galician translation.
1.5.0 (2012-07-27)
New Games:
diff --git a/backends/events/openpandora/op-events.cpp b/backends/events/openpandora/op-events.cpp
index c1d6362fcb..9f4c9dd3b6 100644
--- a/backends/events/openpandora/op-events.cpp
+++ b/backends/events/openpandora/op-events.cpp
@@ -44,7 +44,8 @@ enum {
/* Touchscreen TapMode */
TAPMODE_LEFT = 0,
TAPMODE_RIGHT = 1,
- TAPMODE_HOVER = 2
+ TAPMODE_HOVER = 2,
+ TAPMODE_HOVER_DPAD = 3,
};
OPEventSource::OPEventSource()
@@ -63,6 +64,8 @@ bool OPEventSource::handleMouseButtonDown(SDL_Event &ev, Common::Event &event) {
event.type = Common::EVENT_RBUTTONDOWN;
else if (OP::tapmodeLevel == TAPMODE_HOVER) /* TAPMODE_HOVER = Hover (No Click) Tap Mode */
event.type = Common::EVENT_MOUSEMOVE;
+ else if (OP::tapmodeLevel == TAPMODE_HOVER_DPAD) /* TAPMODE_HOVER_DPAD = Hover (DPad Clicks) Tap Mode */
+ event.type = Common::EVENT_MOUSEMOVE;
else
event.type = Common::EVENT_LBUTTONDOWN; /* For normal mice etc. */
} else if (ev.button.button == SDL_BUTTON_RIGHT)
@@ -95,6 +98,8 @@ bool OPEventSource::handleMouseButtonUp(SDL_Event &ev, Common::Event &event) {
event.type = Common::EVENT_RBUTTONUP;
else if (OP::tapmodeLevel == TAPMODE_HOVER) /* TAPMODE_HOVER = Hover (No Click) Tap Mode */
event.type = Common::EVENT_MOUSEMOVE;
+ else if (OP::tapmodeLevel == TAPMODE_HOVER_DPAD) /* TAPMODE_HOVER_DPAD = Hover (DPad Clicks) Tap Mode */
+ event.type = Common::EVENT_MOUSEMOVE;
else
event.type = Common::EVENT_LBUTTONUP; /* For normal mice etc. */
} else if (ev.button.button == SDL_BUTTON_RIGHT)
@@ -117,6 +122,30 @@ bool OPEventSource::handleMouseButtonUp(SDL_Event &ev, Common::Event &event) {
bool OPEventSource::remapKey(SDL_Event &ev, Common::Event &event) {
+ if (OP::tapmodeLevel == TAPMODE_HOVER_DPAD) {
+ switch (ev.key.keysym.sym) {
+ case SDLK_LEFT:
+ event.type = (ev.type == SDL_KEYDOWN) ? Common::EVENT_LBUTTONDOWN : Common::EVENT_LBUTTONUP;
+ processMouseEvent(event, _km.x, _km.y);
+ return true;
+ break;
+ case SDLK_RIGHT:
+ event.type = (ev.type == SDL_KEYDOWN) ? Common::EVENT_RBUTTONDOWN : Common::EVENT_RBUTTONUP;
+ processMouseEvent(event, _km.x, _km.y);
+ return true;
+ break;
+#if defined(SDL_BUTTON_MIDDLE)
+ case SDLK_UP:
+ event.type = (ev.type == SDL_KEYDOWN) ? Common::EVENT_MBUTTONDOWN : Common::EVENT_MBUTTONUP;
+ processMouseEvent(event, _km.x, _km.y);
+ return true;
+ break;
+#endif
+ default:
+ break;
+ }
+ }
+
if (ev.type == SDL_KEYDOWN) {
switch (ev.key.keysym.sym) {
case SDLK_HOME:
@@ -141,6 +170,8 @@ bool OPEventSource::remapKey(SDL_Event &ev, Common::Event &event) {
g_system->displayMessageOnOSD(_("Touchscreen 'Tap Mode' - Right Click"));
} else if (OP::tapmodeLevel == TAPMODE_HOVER) {
g_system->displayMessageOnOSD(_("Touchscreen 'Tap Mode' - Hover (No Click)"));
+ } else if (OP::tapmodeLevel == TAPMODE_HOVER_DPAD) {
+ g_system->displayMessageOnOSD(_("Touchscreen 'Tap Mode' - Hover (DPad Clicks)"));
}
break;
case SDLK_RSHIFT:
diff --git a/backends/platform/openpandora/op-options.cpp b/backends/platform/openpandora/op-options.cpp
index 58f0fb7188..758f5600bc 100644
--- a/backends/platform/openpandora/op-options.cpp
+++ b/backends/platform/openpandora/op-options.cpp
@@ -33,7 +33,8 @@ enum {
/* Touchscreen TapMode */
TAPMODE_LEFT = 0,
TAPMODE_RIGHT = 1,
- TAPMODE_HOVER = 2
+ TAPMODE_HOVER = 2,
+ TAPMODE_HOVER_DPAD = 3,
};
int tapmodeLevel = TAPMODE_LEFT;
@@ -44,6 +45,8 @@ void ToggleTapMode() {
} else if (tapmodeLevel == TAPMODE_RIGHT) {
tapmodeLevel = TAPMODE_HOVER;
} else if (tapmodeLevel == TAPMODE_HOVER) {
+ tapmodeLevel = TAPMODE_HOVER_DPAD;
+ } else if (tapmodeLevel == TAPMODE_HOVER_DPAD) {
tapmodeLevel = TAPMODE_LEFT;
} else {
tapmodeLevel = TAPMODE_LEFT;
diff --git a/configure b/configure
index 5c6deace41..5d440baf1f 100755
--- a/configure
+++ b/configure
@@ -72,6 +72,7 @@ add_engine() {
set_var _engine_${1}_build "${3}"
set_var _engine_${1}_build_default "${3}"
set_var _engine_${1}_subengines "${4}"
+ set_var _engine_${1}_deps "${5}"
for sub in ${4}; do
set_var _engine_${sub}_sub "yes"
done
@@ -464,6 +465,11 @@ get_engine_subengines() {
get_var _engine_$1_subengines
}
+# Get the dependencies
+get_engine_dependencies() {
+ get_var _engine_$1_deps
+}
+
# Ask if this is a subengine
get_engine_sub() {
sub=`get_var _engine_$1_sub`
@@ -532,6 +538,28 @@ engine_disable() {
fi
}
+# Check whether the engine's dependencies are met
+# If that is not the case disable the engine
+check_engine_deps() {
+ unmet_deps=""
+
+ # Check whether the engine is enabled
+ if test `get_engine_build $1` = yes ; then
+ # Collect unmet dependencies
+ for dep in `get_engine_dependencies $1`; do
+ if test `get_var _${dep}` = no ; then
+ unmet_deps="${unmet_deps}${dep} "
+ fi
+ done
+
+ # Check whether there is any unmet dependency
+ if test -n "$unmet_deps"; then
+ echo "WARNING: Disabling engine "`get_engine_name $1`" because the following dependencies are unmet: "$unmet_deps
+ engine_disable $1
+ fi
+ fi
+}
+
# Show the configure help line for a given engine
show_engine_help() {
name=`get_engine_name $1`
@@ -1839,7 +1867,9 @@ case $_host_cpu in
define_in_config_if_yes yes 'USE_ARM_SOUND_ASM'
define_in_config_if_yes yes 'USE_ARM_SMUSH_ASM'
define_in_config_if_yes yes 'USE_ARM_GFX_ASM'
- define_in_config_if_yes yes 'USE_ARM_COSTUME_ASM'
+ # FIXME: The following feature exhibits a bug during the intro scene of Indy 4
+ # (on Pandora and iPhone at least)
+ #define_in_config_if_yes yes 'USE_ARM_COSTUME_ASM'
DEFINES="$DEFINES -DARM_TARGET"
;;
@@ -3202,11 +3232,6 @@ fi
define_in_config_if_yes "$_png" 'USE_PNG'
echo "$_png"
-if test `get_engine_build sword25` = yes && test ! "$_png" = yes ; then
- echo "...disabling Broken Sword 2.5 engine. PNG is required"
- engine_disable sword25
-fi
-
#
# Check for Theora Decoder
#
@@ -3317,11 +3342,6 @@ fi
define_in_config_if_yes "$_zlib" 'USE_ZLIB'
echo "$_zlib"
-if test `get_engine_build sword25` = yes && test ! "$_zlib" = yes ; then
- echo "...disabling Broken Sword 2.5 engine. ZLib is required"
- engine_disable sword25
-fi
-
#
# Check for Sparkle if updates support is enabled
#
@@ -3868,6 +3888,9 @@ sh -c "
fi" 2>/dev/null &
for engine in $_engines; do
+ # Check whether all dependencies are available
+ check_engine_deps $engine
+
if test "`get_engine_sub $engine`" = "no" ; then
# It's a main engine
if test `get_engine_build $engine` = no ; then
diff --git a/devtools/credits.pl b/devtools/credits.pl
index 5cfa4985ac..1ff051af73 100755
--- a/devtools/credits.pl
+++ b/devtools/credits.pl
@@ -939,6 +939,9 @@ begin_credits("Credits");
begin_section("French");
add_person("Thierry Crozat", "criezy", "");
end_section();
+ begin_section("Galician");
+ add_person("Santiago G. Sanz", "sgsanz", "");
+ end_section();
begin_section("German");
add_person("Simon Sawatzki", "SimSaw", "");
add_person("Lothar Serra Mari", "Lothar93", "");
diff --git a/engines/configure.engines b/engines/configure.engines
index 91e5e82506..5ef36ff7b6 100644
--- a/engines/configure.engines
+++ b/engines/configure.engines
@@ -37,7 +37,7 @@ add_engine sci32 "SCI32 games" no
add_engine sky "Beneath a Steel Sky" yes
add_engine sword1 "Broken Sword" yes
add_engine sword2 "Broken Sword II" yes
-add_engine sword25 "Broken Sword 2.5" no
+add_engine sword25 "Broken Sword 2.5" no "" "png zlib"
add_engine teenagent "Teen Agent" yes
add_engine testbed "TestBed: the Testing framework" no
add_engine tinsel "Tinsel" yes
diff --git a/engines/lastexpress/data/background.cpp b/engines/lastexpress/data/background.cpp
index 3d866c26f9..60379251a3 100644
--- a/engines/lastexpress/data/background.cpp
+++ b/engines/lastexpress/data/background.cpp
@@ -107,6 +107,7 @@ byte *Background::decodeComponent(Common::SeekableReadStream *in, uint32 inSize,
return NULL;
// Initialize the decoding
+ memset(out, 0, outSize * sizeof(byte));
uint32 inPos = 0;
uint32 outPos = 0;
diff --git a/engines/lastexpress/data/subtitle.cpp b/engines/lastexpress/data/subtitle.cpp
index a9a8284588..4d19c02aa7 100644
--- a/engines/lastexpress/data/subtitle.cpp
+++ b/engines/lastexpress/data/subtitle.cpp
@@ -210,10 +210,10 @@ void SubtitleManager::setTime(uint16 time) {
_currentIndex = -1;
// Find the appropriate line to show
- for (int16 i = 0; i < (int16)_subtitles.size(); i++) {
+ for (uint i = 0; i < _subtitles.size(); i++) {
if ((time >= _subtitles[i]->getTimeStart()) && (time <= _subtitles[i]->getTimeStop())) {
// Keep the index of the line to show
- _currentIndex = i;
+ _currentIndex = (int16)i;
return;
}
}
@@ -237,7 +237,7 @@ Common::Rect SubtitleManager::draw(Graphics::Surface *surface) {
// Draw the current line
assert(_currentIndex >= 0 && _currentIndex < (int16)_subtitles.size());
- return _subtitles[_currentIndex]->draw(surface, _font);
+ return _subtitles[(uint16)_currentIndex]->draw(surface, _font);
}
} // End of namespace LastExpress
diff --git a/engines/lastexpress/debug.cpp b/engines/lastexpress/debug.cpp
index f89ad8b80d..db3a3e3962 100644
--- a/engines/lastexpress/debug.cpp
+++ b/engines/lastexpress/debug.cpp
@@ -85,7 +85,6 @@ Debugger::Debugger(LastExpressEngine *engine) : _engine(engine), _command(NULL),
DCmd_Register("entity", WRAP_METHOD(Debugger, cmdEntity));
// Misc
- DCmd_Register("loadgame", WRAP_METHOD(Debugger, cmdLoadGame));
DCmd_Register("chapter", WRAP_METHOD(Debugger, cmdSwitchChapter));
DCmd_Register("clear", WRAP_METHOD(Debugger, cmdClear));
@@ -139,6 +138,9 @@ void Debugger::copyCommand(int argc, const char **argv) {
for (int i = 0; i < _numParams; i++) {
_commandParams[i] = (char *)malloc(strlen(argv[i]) + 1);
+ if (_commandParams[i] == NULL)
+ error("[Debugger::copyCommand] Cannot allocate memory for command parameters");
+
memset(_commandParams[i], 0, strlen(argv[i]) + 1);
strcpy(_commandParams[i], argv[i]);
}
@@ -152,9 +154,18 @@ void Debugger::callCommand() {
(*_command)(_numParams, const_cast<const char **>(_commandParams));
}
-void Debugger::loadArchive(ArchiveIndex index) const {
- _engine->getResourceManager()->loadArchive(index);
- getScenes()->loadSceneDataFile(index);
+bool Debugger::loadArchive(int index) {
+ if (index < 1 || index > 3) {
+ DebugPrintf("Invalid cd number (was: %d, valid: [1-3])\n", index);
+ return false;
+ }
+
+ if (!_engine->getResourceManager()->loadArchive((ArchiveIndex)index))
+ return false;
+
+ getScenes()->loadSceneDataFile((ArchiveIndex)index);
+
+ return true;
}
// Restore loaded archive
@@ -233,8 +244,10 @@ bool Debugger::cmdListFiles(int argc, const char **argv) {
Common::String filter(const_cast<char *>(argv[1]));
// Load the proper archive
- if (argc == 3)
- loadArchive((ArchiveIndex)getNumber(argv[2]));
+ if (argc == 3) {
+ if (!loadArchive(getNumber(argv[2])))
+ return true;
+ }
Common::ArchiveMemberList list;
int count = _engine->getResourceManager()->listMatchingMembers(list, filter);
@@ -317,8 +330,10 @@ bool Debugger::cmdShowFrame(int argc, const char **argv) {
Common::String filename(const_cast<char *>(argv[1]));
filename += ".seq";
- if (argc == 4)
- loadArchive((ArchiveIndex)getNumber(argv[3]));
+ if (argc == 4) {
+ if (!loadArchive(getNumber(argv[3])))
+ return true;
+ }
if (!_engine->getResourceManager()->hasFile(filename)) {
DebugPrintf("Cannot find file: %s\n", filename.c_str());
@@ -377,8 +392,10 @@ bool Debugger::cmdShowBg(int argc, const char **argv) {
if (argc == 2 || argc == 3) {
Common::String filename(const_cast<char *>(argv[1]));
- if (argc == 3)
- loadArchive((ArchiveIndex)getNumber(argv[2]));
+ if (argc == 3) {
+ if (!loadArchive(getNumber(argv[2])))
+ return true;
+ }
if (!_engine->getResourceManager()->hasFile(filename + ".BG")) {
DebugPrintf("Cannot find file: %s\n", (filename + ".BG").c_str());
@@ -430,8 +447,10 @@ bool Debugger::cmdPlaySeq(int argc, const char **argv) {
Common::String filename(const_cast<char *>(argv[1]));
filename += ".seq";
- if (argc == 3)
- loadArchive((ArchiveIndex)getNumber(argv[2]));
+ if (argc == 3) {
+ if (!loadArchive(getNumber(argv[2])))
+ return true;
+ }
if (!_engine->getResourceManager()->hasFile(filename)) {
DebugPrintf("Cannot find file: %s\n", filename.c_str());
@@ -505,8 +524,10 @@ bool Debugger::cmdPlaySeq(int argc, const char **argv) {
bool Debugger::cmdPlaySnd(int argc, const char **argv) {
if (argc == 2 || argc == 3) {
- if (argc == 3)
- loadArchive((ArchiveIndex)getNumber(argv[2]));
+ if (argc == 3) {
+ if (!loadArchive(getNumber(argv[2])))
+ return true;
+ }
// Add .SND at the end of the filename if needed
Common::String name(const_cast<char *>(argv[1]));
@@ -520,7 +541,7 @@ bool Debugger::cmdPlaySnd(int argc, const char **argv) {
_engine->_system->getMixer()->stopAll();
- _soundStream->load(getArchive(name));
+ _soundStream->load(getArchive(name), 16);
if (argc == 3)
restoreArchive();
@@ -542,8 +563,10 @@ bool Debugger::cmdPlaySbe(int argc, const char **argv) {
if (argc == 2 || argc == 3) {
Common::String filename(const_cast<char *>(argv[1]));
- if (argc == 3)
- loadArchive((ArchiveIndex)getNumber(argv[2]));
+ if (argc == 3) {
+ if (!loadArchive(getNumber(argv[2])))
+ return true;
+ }
filename += ".sbe";
@@ -605,8 +628,10 @@ bool Debugger::cmdPlayNis(int argc, const char **argv) {
if (argc == 2 || argc == 3) {
Common::String name(const_cast<char *>(argv[1]));
- if (argc == 3)
- loadArchive((ArchiveIndex)getNumber(argv[2]));
+ if (argc == 3) {
+ if (!loadArchive(getNumber(argv[2])))
+ return true;
+ }
// If we got a nis filename, check that the file exists
if (name.contains('.') && !_engine->getResourceManager()->hasFile(name)) {
@@ -662,8 +687,10 @@ bool Debugger::cmdLoadScene(int argc, const char **argv) {
SceneIndex index = (SceneIndex)getNumber(argv[1]);
// Check args
- if (argc == 3)
- loadArchive((ArchiveIndex)getNumber(argv[2]));
+ if (argc == 3) {
+ if (!loadArchive(getNumber(argv[2])))
+ return true;
+ }
if (index > 2500) {
DebugPrintf("Error: invalid index value (0-2500)");
@@ -1091,30 +1118,6 @@ label_error:
}
/**
- * Command: loads a game
- *
- * @param argc The argument count.
- * @param argv The values.
- *
- * @return true if it was handled, false otherwise
- */
-bool Debugger::cmdLoadGame(int argc, const char **argv) {
- if (argc == 2) {
- int id = getNumber(argv[1]);
-
- if (id == 0 || id > 6)
- goto error;
-
- getSaveLoad()->loadGame((GameId)(id - 1));
- } else {
-error:
- DebugPrintf("Syntax: loadgame <id> (id=1-6)\n");
- }
-
- return true;
-}
-
-/**
* Command: switch to a specific chapter
*
* @param argc The argument count.
diff --git a/engines/lastexpress/debug.h b/engines/lastexpress/debug.h
index d9ba6f47a1..532cb83717 100644
--- a/engines/lastexpress/debug.h
+++ b/engines/lastexpress/debug.h
@@ -79,7 +79,6 @@ private:
bool cmdShow(int argc, const char **argv);
bool cmdEntity(int argc, const char **argv);
- bool cmdLoadGame(int argc, const char **argv);
bool cmdSwitchChapter(int argc, const char **argv);
bool cmdClear(int argc, const char **argv);
@@ -87,7 +86,7 @@ private:
void copyCommand(int argc, const char **argv);
int getNumber(const char *arg) const;
- void loadArchive(ArchiveIndex index) const;
+ bool loadArchive(int index);
void restoreArchive() const;
Debuglet *_command;
diff --git a/engines/lastexpress/entities/abbot.cpp b/engines/lastexpress/entities/abbot.cpp
index e0fe429520..406b017d3a 100644
--- a/engines/lastexpress/entities/abbot.cpp
+++ b/engines/lastexpress/entities/abbot.cpp
@@ -58,10 +58,10 @@ Abbot::Abbot(LastExpressEngine *engine) : Entity(engine, kEntityAbbot) {
ADD_CALLBACK_FUNCTION(Abbot, chapter2);
ADD_CALLBACK_FUNCTION(Abbot, chapter3);
ADD_CALLBACK_FUNCTION(Abbot, chapter3Handler);
- ADD_CALLBACK_FUNCTION(Abbot, function19);
- ADD_CALLBACK_FUNCTION(Abbot, function20);
- ADD_CALLBACK_FUNCTION(Abbot, function21);
- ADD_CALLBACK_FUNCTION(Abbot, function22);
+ ADD_CALLBACK_FUNCTION(Abbot, conversationWithBoutarel);
+ ADD_CALLBACK_FUNCTION(Abbot, readPaper);
+ ADD_CALLBACK_FUNCTION(Abbot, goToLunch);
+ ADD_CALLBACK_FUNCTION(Abbot, haveLunch);
ADD_CALLBACK_FUNCTION(Abbot, function23);
ADD_CALLBACK_FUNCTION(Abbot, function24);
ADD_CALLBACK_FUNCTION(Abbot, function25);
@@ -259,7 +259,7 @@ IMPLEMENT_FUNCTION(18, Abbot, chapter3Handler)
getData()->entityPosition = kPosition_6470;
getData()->location = kLocationInsideCompartment;
- setup_function19();
+ setup_conversationWithBoutarel();
break;
}
break;
@@ -272,7 +272,7 @@ IMPLEMENT_FUNCTION(18, Abbot, chapter3Handler)
IMPLEMENT_FUNCTION_END
//////////////////////////////////////////////////////////////////////////
-IMPLEMENT_FUNCTION(19, Abbot, function19)
+IMPLEMENT_FUNCTION(19, Abbot, conversationWithBoutarel)
switch (savepoint.action) {
default:
break;
@@ -311,21 +311,21 @@ IMPLEMENT_FUNCTION(19, Abbot, function19)
case 3:
getSavePoints()->push(kEntityAbbot, kEntityBoutarel, kAction122288808);
- setup_function20();
+ setup_readPaper();
break;
}
}
IMPLEMENT_FUNCTION_END
//////////////////////////////////////////////////////////////////////////
-IMPLEMENT_FUNCTION(20, Abbot, function20)
+IMPLEMENT_FUNCTION(20, Abbot, readPaper)
switch (savepoint.action) {
default:
break;
case kActionNone:
if (getState()->time > kTime1966500 && getEntities()->isInRestaurant(kEntityBoutarel))
- setup_function21();
+ setup_goToLunch();
break;
case kActionDefault:
@@ -335,7 +335,7 @@ IMPLEMENT_FUNCTION(20, Abbot, function20)
IMPLEMENT_FUNCTION_END
//////////////////////////////////////////////////////////////////////////
-IMPLEMENT_FUNCTION(21, Abbot, function21)
+IMPLEMENT_FUNCTION(21, Abbot, goToLunch)
switch (savepoint.action) {
default:
break;
@@ -393,7 +393,7 @@ IMPLEMENT_FUNCTION(21, Abbot, function21)
break;
case 7:
- setup_function22();
+ setup_haveLunch();
break;
}
break;
@@ -409,7 +409,7 @@ IMPLEMENT_FUNCTION(21, Abbot, function21)
IMPLEMENT_FUNCTION_END
//////////////////////////////////////////////////////////////////////////
-IMPLEMENT_FUNCTION(22, Abbot, function22)
+IMPLEMENT_FUNCTION(22, Abbot, haveLunch)
switch (savepoint.action) {
default:
break;
@@ -1547,7 +1547,7 @@ IMPLEMENT_FUNCTION(45, Abbot, function45)
getData()->car = kCarRedSleeping;
getData()->location = kLocationOutsideCompartment;
- RESET_ENTITY_STATE(kEntityVerges, Verges, setup_function38);
+ RESET_ENTITY_STATE(kEntityVerges, Verges, setup_resetState);
getEntities()->drawSequenceLeft(kEntityAbbot, "617Ec");
getEntities()->enterCompartment(kEntityAbbot, kObjectCompartmentC, true);
diff --git a/engines/lastexpress/entities/abbot.h b/engines/lastexpress/entities/abbot.h
index ce52bb68ce..dc3e86db54 100644
--- a/engines/lastexpress/entities/abbot.h
+++ b/engines/lastexpress/entities/abbot.h
@@ -156,10 +156,10 @@ public:
* Handle Chapter 3 events
*/
DECLARE_FUNCTION(chapter3Handler)
- DECLARE_FUNCTION(function19)
- DECLARE_FUNCTION(function20)
- DECLARE_FUNCTION(function21)
- DECLARE_FUNCTION(function22)
+ DECLARE_FUNCTION(conversationWithBoutarel)
+ DECLARE_FUNCTION(readPaper)
+ DECLARE_FUNCTION(goToLunch)
+ DECLARE_FUNCTION(haveLunch)
DECLARE_FUNCTION(function23)
DECLARE_FUNCTION(function24)
DECLARE_FUNCTION(function25)
diff --git a/engines/lastexpress/entities/august.cpp b/engines/lastexpress/entities/august.cpp
index 67d810fde2..dbae7bad20 100644
--- a/engines/lastexpress/entities/august.cpp
+++ b/engines/lastexpress/entities/august.cpp
@@ -3530,7 +3530,7 @@ IMPLEMENT_FUNCTION(69, August, unhookCars)
getScenes()->loadSceneFromPosition(kCarRestaurant, 85, 1);
getSavePoints()->pushAll(kEntityAugust, kActionProceedChapter5);
- RESET_ENTITY_STATE(kEntityVerges, Verges, setup_function42)
+ RESET_ENTITY_STATE(kEntityVerges, Verges, setup_end)
}
break;
}
diff --git a/engines/lastexpress/entities/chapters.cpp b/engines/lastexpress/entities/chapters.cpp
index a2f3a3d871..d373432710 100644
--- a/engines/lastexpress/entities/chapters.cpp
+++ b/engines/lastexpress/entities/chapters.cpp
@@ -1851,7 +1851,7 @@ void Chapters::enterExitHelper(bool isEnteringStation) {
callbackAction();
}
-void Chapters::playSteam() {
+void Chapters::playSteam() const {
getSoundQueue()->resetState();
getSound()->playSteam((CityIndex)ENTITY_PARAM(0, 4));
ENTITY_PARAM(0, 2) = 0;
diff --git a/engines/lastexpress/entities/chapters.h b/engines/lastexpress/entities/chapters.h
index ddb3de3bea..fb52ea3ee4 100644
--- a/engines/lastexpress/entities/chapters.h
+++ b/engines/lastexpress/entities/chapters.h
@@ -157,7 +157,7 @@ private:
bool timeCheckExitStation(TimeValue timeValue, uint &parameter, byte callback, const char *sequence);
void enterExitStation(const SavePoint &savepoint, bool isEnteringStation);
void enterExitHelper(bool isEnteringStation);
- void playSteam();
+ void playSteam() const;
};
} // End of namespace LastExpress
diff --git a/engines/lastexpress/entities/entity.cpp b/engines/lastexpress/entities/entity.cpp
index 2deca291f6..dad5e67392 100644
--- a/engines/lastexpress/entities/entity.cpp
+++ b/engines/lastexpress/entities/entity.cpp
@@ -26,10 +26,15 @@
#include "lastexpress/game/action.h"
#include "lastexpress/game/entities.h"
+#include "lastexpress/game/logic.h"
#include "lastexpress/game/object.h"
#include "lastexpress/game/savegame.h"
+#include "lastexpress/game/savepoint.h"
+#include "lastexpress/game/state.h"
#include "lastexpress/game/scenes.h"
+#include "lastexpress/lastexpress.h"
+
namespace LastExpress {
//////////////////////////////////////////////////////////////////////////
@@ -45,12 +50,14 @@ EntityData::EntityCallData::~EntityCallData() {
SAFE_DELETE(sequence3);
}
-void EntityData::EntityCallData::syncString(Common::Serializer &s, Common::String &string, int length) {
+void EntityData::EntityCallData::syncString(Common::Serializer &s, Common::String &string, uint length) const {
char seqName[13];
memset(&seqName, 0, length);
- if (s.isSaving()) strcpy((char *)&seqName, string.c_str());
- s.syncBytes((byte *)&seqName, length);
+ if (s.isSaving())
+ strcpy((char *)&seqName, string.c_str());
+
+ s.syncBytes((byte *)&seqName, length);
if (s.isLoading())
string = seqName;
@@ -110,7 +117,7 @@ EntityData::EntityParameters *EntityData::getParameters(uint callback, byte inde
return _parameters[callback].parameters[index];
}
-int EntityData::getCallback(uint callback) const {
+byte EntityData::getCallback(uint callback) const {
if (callback >= 16)
error("[EntityData::getCallback] Invalid callback value (was: %d, max: 16)", callback);
@@ -818,7 +825,7 @@ void Entity::setupIISS(const char *name, uint index, uint param1, uint param2, c
// Helper functions
//////////////////////////////////////////////////////////////////////////
-bool Entity::updateParameter(uint &parameter, uint timeType, uint delta) {
+bool Entity::updateParameter(uint &parameter, uint timeType, uint delta) const {
if (!parameter)
parameter = (uint)(timeType + delta);
@@ -830,7 +837,7 @@ bool Entity::updateParameter(uint &parameter, uint timeType, uint delta) {
return true;
}
-bool Entity::updateParameterTime(TimeValue timeValue, bool check, uint &parameter, uint delta) {
+bool Entity::updateParameterTime(TimeValue timeValue, bool check, uint &parameter, uint delta) const {
if (getState()->time <= timeValue) {
if (check || !parameter)
parameter = (uint)(getState()->time + delta);
@@ -844,7 +851,7 @@ bool Entity::updateParameterTime(TimeValue timeValue, bool check, uint &paramete
return true;
}
-bool Entity::updateParameterCheck(uint &parameter, uint timeType, uint delta) {
+bool Entity::updateParameterCheck(uint &parameter, uint timeType, uint delta) const {
if (parameter && parameter >= timeType)
return false;
@@ -854,7 +861,7 @@ bool Entity::updateParameterCheck(uint &parameter, uint timeType, uint delta) {
return true;
}
-bool Entity::timeCheck(TimeValue timeValue, uint &parameter, Common::Functor0<void> *function) {
+bool Entity::timeCheck(TimeValue timeValue, uint &parameter, Common::Functor0<void> *function) const {
if (getState()->time > timeValue && !parameter) {
parameter = 1;
(*function)();
@@ -929,14 +936,14 @@ bool Entity::timeCheckCar(TimeValue timeValue, uint &parameter, byte callback, C
return false;
}
-void Entity::timeCheckSavepoint(TimeValue timeValue, uint &parameter, EntityIndex entity1, EntityIndex entity2, ActionIndex action) {
+void Entity::timeCheckSavepoint(TimeValue timeValue, uint &parameter, EntityIndex entity1, EntityIndex entity2, ActionIndex action) const {
if (getState()->time > timeValue && !parameter) {
parameter = 1;
getSavePoints()->push(entity1, entity2, action);
}
}
-void Entity::timeCheckObject(TimeValue timeValue, uint &parameter, ObjectIndex object, ObjectLocation location) {
+void Entity::timeCheckObject(TimeValue timeValue, uint &parameter, ObjectIndex object, ObjectLocation location) const {
if (getState()->time > timeValue && !parameter) {
parameter = 1;
getObjects()->updateLocation2(object, location);
diff --git a/engines/lastexpress/entities/entity.h b/engines/lastexpress/entities/entity.h
index 3601f34f6f..c67d13db9e 100644
--- a/engines/lastexpress/entities/entity.h
+++ b/engines/lastexpress/entities/entity.h
@@ -25,13 +25,8 @@
#include "lastexpress/shared.h"
-#include "lastexpress/game/logic.h"
-#include "lastexpress/game/savepoint.h"
-#include "lastexpress/game/state.h"
-
#include "lastexpress/sound/sound.h"
-#include "lastexpress/lastexpress.h"
#include "lastexpress/helpers.h"
#include "common/array.h"
@@ -827,7 +822,7 @@ public:
* @param string The string.
* @param length Length of the string.
*/
- void syncString(Common::Serializer &s, Common::String &string, int length);
+ void syncString(Common::Serializer &s, Common::String &string, uint length) const;
// Serializable
void saveLoadWithSerializer(Common::Serializer &s);
@@ -850,8 +845,8 @@ public:
EntityParameters *getCurrentParameters(byte index = 0) { return getParameters(_data.currentCall, index); }
EntityCallParameters *getCurrentCallParameters() { return &_parameters[_data.currentCall]; }
- int getCallback(uint callback) const;
- int getCurrentCallback() { return getCallback(_data.currentCall); }
+ byte getCallback(uint callback) const;
+ byte getCurrentCallback() { return getCallback(_data.currentCall); }
void setCallback(uint callback, byte index);
void setCurrentCallback(uint index) { setCallback(_data.currentCall, index); }
@@ -1089,18 +1084,18 @@ protected:
// Helper functions
//////////////////////////////////////////////////////////////////////////
- bool updateParameter(uint &parameter, uint timeType, uint delta);
- bool updateParameterCheck(uint &parameter, uint timeType, uint delta);
- bool updateParameterTime(TimeValue timeValue, bool check, uint &parameter, uint delta);
+ bool updateParameter(uint &parameter, uint timeType, uint delta) const;
+ bool updateParameterCheck(uint &parameter, uint timeType, uint delta) const;
+ bool updateParameterTime(TimeValue timeValue, bool check, uint &parameter, uint delta) const;
- bool timeCheck(TimeValue timeValue, uint &parameter, Common::Functor0<void> *function);
+ bool timeCheck(TimeValue timeValue, uint &parameter, Common::Functor0<void> *function) const;
bool timeCheckCallback(TimeValue timeValue, uint &parameter, byte callback, Common::Functor0<void> *function);
bool timeCheckCallback(TimeValue timeValue, uint &parameter, byte callback, const char *str, Common::Functor1<const char *, void> *function);
bool timeCheckCallback(TimeValue timeValue, uint &parameter, byte callback, bool check, Common::Functor1<bool, void> *function);
bool timeCheckCallbackInventory(TimeValue timeValue, uint &parameter, byte callback, Common::Functor0<void> *function);
bool timeCheckCar(TimeValue timeValue, uint &parameter, byte callback, Common::Functor0<void> *function);
- void timeCheckSavepoint(TimeValue timeValue, uint &parameter, EntityIndex entity1, EntityIndex entity2, ActionIndex action);
- void timeCheckObject(TimeValue timeValue, uint &parameter, ObjectIndex index, ObjectLocation location);
+ void timeCheckSavepoint(TimeValue timeValue, uint &parameter, EntityIndex entity1, EntityIndex entity2, ActionIndex action) const;
+ void timeCheckObject(TimeValue timeValue, uint &parameter, ObjectIndex index, ObjectLocation location) const;
bool timeCheckCallbackAction(TimeValue timeValue, uint &parameter);
bool timeCheckPlaySoundUpdatePosition(TimeValue timeValue, uint &parameter, byte callback, const char* sound, EntityPosition position);
diff --git a/engines/lastexpress/entities/verges.cpp b/engines/lastexpress/entities/verges.cpp
index 867f122d8f..d9ddb0a4d1 100644
--- a/engines/lastexpress/entities/verges.cpp
+++ b/engines/lastexpress/entities/verges.cpp
@@ -46,40 +46,40 @@ Verges::Verges(LastExpressEngine *engine) : Entity(engine, kEntityVerges) {
ADD_CALLBACK_FUNCTION(Verges, callbackActionRestaurantOrSalon);
ADD_CALLBACK_FUNCTION(Verges, savegame);
ADD_CALLBACK_FUNCTION(Verges, updateEntity);
- ADD_CALLBACK_FUNCTION(Verges, function9);
- ADD_CALLBACK_FUNCTION(Verges, function10);
+ ADD_CALLBACK_FUNCTION(Verges, walkBetweenCars);
+ ADD_CALLBACK_FUNCTION(Verges, makeAnnouncement);
ADD_CALLBACK_FUNCTION(Verges, function11);
ADD_CALLBACK_FUNCTION(Verges, function12);
- ADD_CALLBACK_FUNCTION(Verges, function13);
+ ADD_CALLBACK_FUNCTION(Verges, baggageCar);
ADD_CALLBACK_FUNCTION(Verges, updateFromTime);
- ADD_CALLBACK_FUNCTION(Verges, function15);
- ADD_CALLBACK_FUNCTION(Verges, function16);
- ADD_CALLBACK_FUNCTION(Verges, function17);
+ ADD_CALLBACK_FUNCTION(Verges, dialog);
+ ADD_CALLBACK_FUNCTION(Verges, dialog2);
+ ADD_CALLBACK_FUNCTION(Verges, talkAboutPassengerList);
ADD_CALLBACK_FUNCTION(Verges, chapter1);
ADD_CALLBACK_FUNCTION(Verges, talkHarem);
ADD_CALLBACK_FUNCTION(Verges, talkPassengerList);
ADD_CALLBACK_FUNCTION(Verges, talkGendarmes);
- ADD_CALLBACK_FUNCTION(Verges, function22);
+ ADD_CALLBACK_FUNCTION(Verges, askMertensToRelayAugustInvitation);
ADD_CALLBACK_FUNCTION(Verges, function23);
ADD_CALLBACK_FUNCTION(Verges, policeGettingOffTrain);
- ADD_CALLBACK_FUNCTION(Verges, function25);
+ ADD_CALLBACK_FUNCTION(Verges, policeSearch);
ADD_CALLBACK_FUNCTION(Verges, chapter1Handler);
ADD_CALLBACK_FUNCTION(Verges, chapter2);
ADD_CALLBACK_FUNCTION(Verges, chapter2Handler);
ADD_CALLBACK_FUNCTION(Verges, chapter3);
ADD_CALLBACK_FUNCTION(Verges, function30);
- ADD_CALLBACK_FUNCTION(Verges, function31);
+ ADD_CALLBACK_FUNCTION(Verges, talkAboutMax);
ADD_CALLBACK_FUNCTION(Verges, function32);
ADD_CALLBACK_FUNCTION(Verges, function33);
ADD_CALLBACK_FUNCTION(Verges, function34);
- ADD_CALLBACK_FUNCTION(Verges, function35);
+ ADD_CALLBACK_FUNCTION(Verges, organizeConcertInvitations);
ADD_CALLBACK_FUNCTION(Verges, chapter4);
ADD_CALLBACK_FUNCTION(Verges, chapter4Handler);
- ADD_CALLBACK_FUNCTION(Verges, function38);
+ ADD_CALLBACK_FUNCTION(Verges, resetState);
ADD_CALLBACK_FUNCTION(Verges, chapter5);
ADD_CALLBACK_FUNCTION(Verges, chapter5Handler);
- ADD_CALLBACK_FUNCTION(Verges, function41);
- ADD_CALLBACK_FUNCTION(Verges, function42);
+ ADD_CALLBACK_FUNCTION(Verges, askPassengersToStayInCompartments);
+ ADD_CALLBACK_FUNCTION(Verges, end);
}
//////////////////////////////////////////////////////////////////////////
@@ -149,7 +149,7 @@ IMPLEMENT_FUNCTION_II(8, Verges, updateEntity, CarIndex, EntityPosition)
IMPLEMENT_FUNCTION_END
//////////////////////////////////////////////////////////////////////////
-IMPLEMENT_FUNCTION_S(9, Verges, function9)
+IMPLEMENT_FUNCTION_S(9, Verges, walkBetweenCars)
switch (savepoint.action) {
default:
break;
@@ -201,7 +201,7 @@ switch (savepoint.action) {
case 3:
setCallback(4);
- setup_function10(kCarGreenSleeping, kPosition_540, (char *)&params->seq1);
+ setup_makeAnnouncement(kCarGreenSleeping, kPosition_540, (char *)&params->seq1);
break;
case 4:
@@ -225,7 +225,7 @@ switch (savepoint.action) {
IMPLEMENT_FUNCTION_END
//////////////////////////////////////////////////////////////////////////
-IMPLEMENT_FUNCTION_IIS(10, Verges, function10, CarIndex, EntityPosition)
+IMPLEMENT_FUNCTION_IIS(10, Verges, makeAnnouncement, CarIndex, EntityPosition)
switch (savepoint.action) {
default:
break;
@@ -404,7 +404,7 @@ IMPLEMENT_FUNCTION(12, Verges, function12)
IMPLEMENT_FUNCTION_END
//////////////////////////////////////////////////////////////////////////
-IMPLEMENT_FUNCTION_I(13, Verges, function13, bool)
+IMPLEMENT_FUNCTION_I(13, Verges, baggageCar, bool)
switch (savepoint.action) {
default:
break;
@@ -449,7 +449,7 @@ IMPLEMENT_FUNCTION_I(14, Verges, updateFromTime, uint32)
IMPLEMENT_FUNCTION_END
//////////////////////////////////////////////////////////////////////////
-IMPLEMENT_FUNCTION_IS(15, Verges, function15, EntityIndex)
+IMPLEMENT_FUNCTION_IS(15, Verges, dialog, EntityIndex)
switch (savepoint.action) {
default:
break;
@@ -486,7 +486,7 @@ IMPLEMENT_FUNCTION_IS(15, Verges, function15, EntityIndex)
IMPLEMENT_FUNCTION_END
//////////////////////////////////////////////////////////////////////////
-IMPLEMENT_FUNCTION_ISS(16, Verges, function16, EntityIndex)
+IMPLEMENT_FUNCTION_ISS(16, Verges, dialog2, EntityIndex)
switch (savepoint.action) {
default:
break;
@@ -526,7 +526,7 @@ IMPLEMENT_FUNCTION_ISS(16, Verges, function16, EntityIndex)
IMPLEMENT_FUNCTION_END
//////////////////////////////////////////////////////////////////////////
-IMPLEMENT_FUNCTION(17, Verges, function17)
+IMPLEMENT_FUNCTION(17, Verges, talkAboutPassengerList)
switch (savepoint.action) {
default:
break;
@@ -548,7 +548,7 @@ IMPLEMENT_FUNCTION(17, Verges, function17)
case 2:
setCallback(3);
- setup_function15(kEntityMertens, "TRA1291");
+ setup_dialog(kEntityMertens, "TRA1291");
break;
case 3:
@@ -611,7 +611,7 @@ IMPLEMENT_FUNCTION(21, Verges, talkGendarmes)
IMPLEMENT_FUNCTION_END
//////////////////////////////////////////////////////////////////////////
-IMPLEMENT_FUNCTION(22, Verges, function22)
+IMPLEMENT_FUNCTION(22, Verges, askMertensToRelayAugustInvitation)
switch (savepoint.action) {
default:
break;
@@ -634,10 +634,10 @@ IMPLEMENT_FUNCTION(22, Verges, function22)
case 2:
if (getEvent(kEventMertensAskTylerCompartment) || getEvent(kEventMertensAskTylerCompartmentD) || getEvent(kEventMertensAugustWaiting)) {
setCallback(3);
- setup_function16(kEntityMertens, "TRA1200", "TRA1201");
+ setup_dialog2(kEntityMertens, "TRA1200", "TRA1201");
} else {
setCallback(4);
- setup_function16(kEntityMertens, "TRA1200A", "TRA1201");
+ setup_dialog2(kEntityMertens, "TRA1200A", "TRA1201");
}
break;
@@ -714,7 +714,7 @@ IMPLEMENT_FUNCTION(24, Verges, policeGettingOffTrain)
IMPLEMENT_FUNCTION_END
//////////////////////////////////////////////////////////////////////////
-IMPLEMENT_FUNCTION(25, Verges, function25)
+IMPLEMENT_FUNCTION(25, Verges, policeSearch)
switch (savepoint.action) {
default:
break;
@@ -774,10 +774,10 @@ IMPLEMENT_FUNCTION(25, Verges, function25)
if (getData()->car == kCarRedSleeping) {
setCallback(6);
- setup_function10(kCarGreenSleeping, kPosition_540, "TRA1005");
+ setup_makeAnnouncement(kCarGreenSleeping, kPosition_540, "TRA1005");
} else {
setCallback(7);
- setup_function10(kCarRedSleeping, kPosition_9460, "TRA1006");
+ setup_makeAnnouncement(kCarRedSleeping, kPosition_9460, "TRA1006");
}
break;
}
@@ -805,7 +805,7 @@ IMPLEMENT_FUNCTION(25, Verges, function25)
getSavePoints()->push(kEntityVerges, kEntityCoudert, kAction168254872);
setCallback(4);
- setup_function10(kCarRedSleeping, kPosition_9460, "TRA1006");
+ setup_makeAnnouncement(kCarRedSleeping, kPosition_9460, "TRA1006");
break;
case 4:
@@ -838,7 +838,7 @@ IMPLEMENT_FUNCTION(25, Verges, function25)
getSavePoints()->push(kEntityVerges, kEntityCoudert, kAction168254872);
setCallback(10);
- setup_function10(kCarGreenSleeping, kPosition_540, "TRA1006");
+ setup_makeAnnouncement(kCarGreenSleeping, kPosition_540, "TRA1006");
break;
case 10:
@@ -892,14 +892,14 @@ IMPLEMENT_FUNCTION(26, Verges, chapter1Handler)
label_callback1:
if (getEntities()->isInBaggageCarEntrance(kEntityPlayer)) {
setCallback(2);
- setup_function13(false);
+ setup_baggageCar(false);
break;
}
label_callback2:
if (ENTITY_PARAM(0, 7)) {
setCallback(3);
- setup_function25();
+ setup_policeSearch();
break;
}
@@ -907,7 +907,7 @@ label_callback3:
if (params->param6)
goto label_callback12;
- if (Entity::timeCheckCallback(kTimeChapter1, params->param7, 4, "TRA1001", WRAP_SETUP_FUNCTION_S(Verges, setup_function9)))
+ if (Entity::timeCheckCallback(kTimeChapter1, params->param7, 4, "TRA1001", WRAP_SETUP_FUNCTION_S(Verges, setup_walkBetweenCars)))
break;
label_callback4:
@@ -923,19 +923,19 @@ label_callback4:
}
label_callback8:
- if (Entity::timeCheckCallback(kTime1107000, CURRENT_PARAM(1, 1), 9, "TRA1001A", WRAP_SETUP_FUNCTION_S(Verges, setup_function9)))
+ if (Entity::timeCheckCallback(kTime1107000, CURRENT_PARAM(1, 1), 9, "TRA1001A", WRAP_SETUP_FUNCTION_S(Verges, setup_walkBetweenCars)))
break;
label_callback9:
- if (Entity::timeCheckCallback(kTime1134000, CURRENT_PARAM(1, 2), 10, "TRA1002", WRAP_SETUP_FUNCTION_S(Verges, setup_function9)))
+ if (Entity::timeCheckCallback(kTime1134000, CURRENT_PARAM(1, 2), 10, "TRA1002", WRAP_SETUP_FUNCTION_S(Verges, setup_walkBetweenCars)))
break;
label_callback10:
- if (Entity::timeCheckCallback(kTime1165500, CURRENT_PARAM(1, 3), 11, "TRA1003", WRAP_SETUP_FUNCTION_S(Verges, setup_function9)))
+ if (Entity::timeCheckCallback(kTime1165500, CURRENT_PARAM(1, 3), 11, "TRA1003", WRAP_SETUP_FUNCTION_S(Verges, setup_walkBetweenCars)))
break;
label_callback11:
- if (Entity::timeCheckCallback(kTime1225800, CURRENT_PARAM(1, 4), 12, "TRA1004", WRAP_SETUP_FUNCTION_S(Verges, setup_function9)))
+ if (Entity::timeCheckCallback(kTime1225800, CURRENT_PARAM(1, 4), 12, "TRA1004", WRAP_SETUP_FUNCTION_S(Verges, setup_walkBetweenCars)))
break;
label_callback12:
@@ -955,7 +955,7 @@ label_callback13:
label_callback14:
if (ENTITY_PARAM(0, 3) && !params->param4 && (getState()->time < kTime1134000 || getState()->time > kTime1156500)) {
setCallback(15);
- setup_function17();
+ setup_talkAboutPassengerList();
break;
}
@@ -963,14 +963,14 @@ label_callback15:
if (ENTITY_PARAM(0, 1) && !params->param5) {
if (getState()->time < kTime1134000 || getState()->time > kTime1156500) {
setCallback(16);
- setup_function22();
+ setup_askMertensToRelayAugustInvitation();
}
}
break;
case kActionOpenDoor:
setCallback(17);
- setup_function13(savepoint.param.intValue < 106 ? true : false);
+ setup_baggageCar(savepoint.param.intValue < 106 ? true : false);
break;
case kActionDefault:
@@ -1006,7 +1006,7 @@ label_callback15:
case 6:
setCallback(7);
- setup_function15(kEntityMertens, "TRA1202");
+ setup_dialog(kEntityMertens, "TRA1202");
break;
case 7:
@@ -1084,11 +1084,11 @@ IMPLEMENT_FUNCTION(28, Verges, chapter2Handler)
case kActionNone:
if (getEntities()->isInBaggageCarEntrance(kEntityPlayer)) {
setCallback(1);
- setup_function13(false);
+ setup_baggageCar(false);
}
label_callback_1:
- if (Entity::timeCheckCallback(kTime1818900, params->param1, 2, "Tra2177", WRAP_SETUP_FUNCTION_S(Verges, setup_function9)))
+ if (Entity::timeCheckCallback(kTime1818900, params->param1, 2, "Tra2177", WRAP_SETUP_FUNCTION_S(Verges, setup_walkBetweenCars)))
break;
label_callback_2:
@@ -1117,7 +1117,7 @@ label_callback_6:
if (ENTITY_PARAM(0, 3)) {
setCallback(7);
- setup_function17();
+ setup_talkAboutPassengerList();
}
break;
@@ -1130,7 +1130,7 @@ label_callback_6:
case kActionOpenDoor:
setCallback(8);
- setup_function13(savepoint.param.intValue < 106);
+ setup_baggageCar(savepoint.param.intValue < 106);
break;
case kActionDefault:
@@ -1155,7 +1155,7 @@ label_callback_6:
case 4:
setCallback(5);
- setup_function15(kEntityCoudert, "TRA2100");
+ setup_dialog(kEntityCoudert, "TRA2100");
break;
case 5:
@@ -1177,7 +1177,7 @@ IMPLEMENT_FUNCTION(29, Verges, chapter3)
break;
case kActionNone:
- setup_function23();
+ setup_function33();
break;
case kActionDefault:
@@ -1221,7 +1221,7 @@ IMPLEMENT_FUNCTION_S(30, Verges, function30)
case 2:
setCallback(3);
- setup_function15(kEntityCoudert, (char *)&params->seq1);
+ setup_dialog(kEntityCoudert, (char *)&params->seq1);
break;
case 3:
@@ -1238,7 +1238,7 @@ IMPLEMENT_FUNCTION_S(30, Verges, function30)
IMPLEMENT_FUNCTION_END
//////////////////////////////////////////////////////////////////////////
-IMPLEMENT_FUNCTION(31, Verges, function31)
+IMPLEMENT_FUNCTION(31, Verges, talkAboutMax)
switch (savepoint.action) {
default:
break;
@@ -1260,7 +1260,7 @@ IMPLEMENT_FUNCTION(31, Verges, function31)
case 2:
setCallback(3);
- setup_function15(kEntityCoudert, "TRA3015");
+ setup_dialog(kEntityCoudert, "TRA3015");
break;
case 3:
@@ -1289,7 +1289,7 @@ IMPLEMENT_FUNCTION(32, Verges, function32)
if (getState()->time > kTime2263500 && !params->param1) {
params->param1 = 1;
setCallback(5);
- setup_function10(kCarRedSleeping, kPosition_9460, "TRA3006");
+ setup_makeAnnouncement(kCarRedSleeping, kPosition_9460, "TRA3006");
break;
}
break;
@@ -1341,7 +1341,7 @@ IMPLEMENT_FUNCTION(32, Verges, function32)
case 3:
setCallback(4);
- setup_function10(kCarGreenSleeping, kPosition_540, "TRA3004");
+ setup_makeAnnouncement(kCarGreenSleeping, kPosition_540, "TRA3004");
break;
case 4:
@@ -1412,7 +1412,7 @@ IMPLEMENT_FUNCTION(33, Verges, function33)
getSavePoints()->push(kEntityVerges, kEntityAbbot, kAction192054567);
setCallback(6);
- setup_function9("Tra3010");
+ setup_walkBetweenCars("Tra3010");
break;
case 6:
@@ -1432,42 +1432,42 @@ IMPLEMENT_FUNCTION(34, Verges, function34)
case kActionNone:
if (getEntities()->isInBaggageCarEntrance(kEntityPlayer)) {
setCallback(1);
- setup_function13(false);
+ setup_baggageCar(false);
break;
}
label_callback_1:
if (ENTITY_PARAM(0, 4)) {
setCallback(2);
- setup_function31();
+ setup_talkAboutMax();
break;
}
label_callback_2:
if (ENTITY_PARAM(0, 3)) {
setCallback(3);
- setup_function17();
+ setup_talkAboutPassengerList();
break;
}
label_callback_3:
- if (Entity::timeCheckCallback(kTime1971000, params->param1, 4, "Tra3001", WRAP_SETUP_FUNCTION_S(Verges, setup_function9)))
+ if (Entity::timeCheckCallback(kTime1971000, params->param1, 4, "Tra3001", WRAP_SETUP_FUNCTION_S(Verges, setup_walkBetweenCars)))
break;
label_callback_4:
- if (Entity::timeCheckCallback(kTime1998000, params->param2, 5, "Tra3010a", WRAP_SETUP_FUNCTION_S(Verges, setup_function9)))
+ if (Entity::timeCheckCallback(kTime1998000, params->param2, 5, "Tra3010a", WRAP_SETUP_FUNCTION_S(Verges, setup_walkBetweenCars)))
break;
label_callback_5:
- if (Entity::timeCheckCallback(kTime2016000, params->param3, 6, WRAP_SETUP_FUNCTION(Verges, setup_function35)))
+ if (Entity::timeCheckCallback(kTime2016000, params->param3, 6, WRAP_SETUP_FUNCTION(Verges, setup_organizeConcertInvitations)))
break;
label_callback_6:
- if (Entity::timeCheckCallback(kTime2070000, params->param4, 7, "Tra3002", WRAP_SETUP_FUNCTION_S(Verges, setup_function9)))
+ if (Entity::timeCheckCallback(kTime2070000, params->param4, 7, "Tra3002", WRAP_SETUP_FUNCTION_S(Verges, setup_walkBetweenCars)))
break;
label_callback_7:
- if (Entity::timeCheckCallback(kTime2142000, params->param5, 8, "Tra3003", WRAP_SETUP_FUNCTION_S(Verges, setup_function9)))
+ if (Entity::timeCheckCallback(kTime2142000, params->param5, 8, "Tra3003", WRAP_SETUP_FUNCTION_S(Verges, setup_walkBetweenCars)))
break;
label_callback_8:
@@ -1480,7 +1480,7 @@ label_callback_9:
case kActionOpenDoor:
setCallback(11);
- setup_function13(savepoint.param.intValue < 106);
+ setup_baggageCar(savepoint.param.intValue < 106);
break;
case kActionCallback:
@@ -1520,7 +1520,7 @@ label_callback_9:
IMPLEMENT_FUNCTION_END
//////////////////////////////////////////////////////////////////////////
-IMPLEMENT_FUNCTION(35, Verges, function35)
+IMPLEMENT_FUNCTION(35, Verges, organizeConcertInvitations)
switch (savepoint.action) {
default:
break;
@@ -1542,7 +1542,7 @@ IMPLEMENT_FUNCTION(35, Verges, function35)
case 2:
setCallback(3);
- setup_function15(kEntityMertens, "Tra3011A");
+ setup_dialog(kEntityMertens, "Tra3011A");
break;
case 3:
@@ -1554,7 +1554,7 @@ IMPLEMENT_FUNCTION(35, Verges, function35)
case 4:
setCallback(5);
- setup_function15(kEntityMertens, "Tra3011");
+ setup_dialog(kEntityMertens, "Tra3011");
break;
case 5:
@@ -1609,7 +1609,7 @@ IMPLEMENT_FUNCTION(37, Verges, chapter4Handler)
case kActionNone:
if (getEntities()->isInBaggageCarEntrance(kEntityPlayer)) {
setCallback(1);
- setup_function13(false);
+ setup_baggageCar(false);
break;
}
@@ -1617,42 +1617,42 @@ label_callback_1:
if (ENTITY_PARAM(0, 6)) {
if (ENTITY_PARAM(0, 3)) {
setCallback(2);
- setup_function17();
+ setup_talkAboutPassengerList();
break;
}
label_callback_2:
- if (Entity::timeCheckCallback(kTime2349000, params->param1, 3, "Tra1001", WRAP_SETUP_FUNCTION_S(Verges, setup_function9)))
+ if (Entity::timeCheckCallback(kTime2349000, params->param1, 3, "Tra1001", WRAP_SETUP_FUNCTION_S(Verges, setup_walkBetweenCars)))
break;
label_callback_3:
- if (Entity::timeCheckCallback(kTime2378700, params->param2, 4, "Tra4001", WRAP_SETUP_FUNCTION_S(Verges, setup_function9)))
+ if (Entity::timeCheckCallback(kTime2378700, params->param2, 4, "Tra4001", WRAP_SETUP_FUNCTION_S(Verges, setup_walkBetweenCars)))
break;
label_callback_4:
- if (Entity::timeCheckCallback(kTime2403000, params->param3, 5, "Tra1001A", WRAP_SETUP_FUNCTION_S(Verges, setup_function9)))
+ if (Entity::timeCheckCallback(kTime2403000, params->param3, 5, "Tra1001A", WRAP_SETUP_FUNCTION_S(Verges, setup_walkBetweenCars)))
break;
label_callback_5:
- if (Entity::timeCheckCallback(kTime2414700, params->param4, 6, "Tra4002", WRAP_SETUP_FUNCTION_S(Verges, setup_function9)))
+ if (Entity::timeCheckCallback(kTime2414700, params->param4, 6, "Tra4002", WRAP_SETUP_FUNCTION_S(Verges, setup_walkBetweenCars)))
break;
label_callback_6:
- if (Entity::timeCheckCallback(kTime2484000, params->param5, 7, "Tra4003", WRAP_SETUP_FUNCTION_S(Verges, setup_function9)))
+ if (Entity::timeCheckCallback(kTime2484000, params->param5, 7, "Tra4003", WRAP_SETUP_FUNCTION_S(Verges, setup_walkBetweenCars)))
break;
label_callback_7:
- if (Entity::timeCheckCallback(kTime2511000, params->param6, 8, "Tra4004", WRAP_SETUP_FUNCTION_S(Verges, setup_function9)))
+ if (Entity::timeCheckCallback(kTime2511000, params->param6, 8, "Tra4004", WRAP_SETUP_FUNCTION_S(Verges, setup_walkBetweenCars)))
break;
}
label_callback_8:
- Entity::timeCheckCallback(kTime2538000, params->param7, 9, "Tra4005", WRAP_SETUP_FUNCTION_S(Verges, setup_function9));
+ Entity::timeCheckCallback(kTime2538000, params->param7, 9, "Tra4005", WRAP_SETUP_FUNCTION_S(Verges, setup_walkBetweenCars));
break;
case kActionOpenDoor:
setCallback(10);
- setup_function13(savepoint.param.intValue < 106);
+ setup_baggageCar(savepoint.param.intValue < 106);
break;
case kActionDefault:
@@ -1697,7 +1697,7 @@ label_callback_8:
IMPLEMENT_FUNCTION_END
//////////////////////////////////////////////////////////////////////////
-IMPLEMENT_FUNCTION(38, Verges, function38)
+IMPLEMENT_FUNCTION(38, Verges, resetState)
switch (savepoint.action) {
default:
break;
@@ -1803,14 +1803,14 @@ IMPLEMENT_FUNCTION(40, Verges, chapter5Handler)
getAction()->playAnimation(kEventCathFreePassengers);
getSavePoints()->pushAll(kEntityVerges, kActionProceedChapter5);
getScenes()->loadSceneFromPosition(kCarRedSleeping, 40);
- setup_function41();
+ setup_askPassengersToStayInCompartments();
}
break;
}
IMPLEMENT_FUNCTION_END
//////////////////////////////////////////////////////////////////////////
-IMPLEMENT_FUNCTION(41, Verges, function41)
+IMPLEMENT_FUNCTION(41, Verges, askPassengersToStayInCompartments)
switch (savepoint.action) {
default:
break;
@@ -1822,7 +1822,7 @@ IMPLEMENT_FUNCTION(41, Verges, function41)
getData()->location = kLocationInsideCompartment;
setCallback(1);
- setup_function10(kCarRedSleeping, kPosition_2000, "Tra5001");
+ setup_makeAnnouncement(kCarRedSleeping, kPosition_2000, "Tra5001");
break;
case kActionCallback:
@@ -1852,7 +1852,7 @@ IMPLEMENT_FUNCTION(41, Verges, function41)
break;
case 4:
- setup_function42();
+ setup_end();
break;
}
break;
@@ -1860,7 +1860,7 @@ IMPLEMENT_FUNCTION(41, Verges, function41)
IMPLEMENT_FUNCTION_END
//////////////////////////////////////////////////////////////////////////
-IMPLEMENT_FUNCTION(42, Verges, function42)
+IMPLEMENT_FUNCTION(42, Verges, end)
if (savepoint.action == kActionDefault)
getEntities()->clearSequences(kEntityVerges);
IMPLEMENT_FUNCTION_END
@@ -1891,7 +1891,7 @@ void Verges::talk(const SavePoint &savepoint, const char *sound1, const char *so
case 2:
setCallback(3);
- setup_function15(kEntityCoudert, sound1);
+ setup_dialog(kEntityCoudert, sound1);
break;
case 3:
@@ -1901,7 +1901,7 @@ void Verges::talk(const SavePoint &savepoint, const char *sound1, const char *so
case 4:
setCallback(5);
- setup_function15(kEntityMertens, sound2);
+ setup_dialog(kEntityMertens, sound2);
break;
case 5:
diff --git a/engines/lastexpress/entities/verges.h b/engines/lastexpress/entities/verges.h
index 82381043d3..93cc190d1e 100644
--- a/engines/lastexpress/entities/verges.h
+++ b/engines/lastexpress/entities/verges.h
@@ -87,11 +87,11 @@ public:
*/
DECLARE_FUNCTION_2(updateEntity, CarIndex car, EntityPosition entityPosition)
- DECLARE_FUNCTION_1(function9, const char *soundName)
- DECLARE_FUNCTION_3(function10, CarIndex car, EntityPosition entityPosition, const char *soundName)
+ DECLARE_FUNCTION_1(walkBetweenCars, const char *soundName)
+ DECLARE_FUNCTION_3(makeAnnouncement, CarIndex car, EntityPosition entityPosition, const char *soundName)
DECLARE_FUNCTION(function11)
DECLARE_FUNCTION(function12)
- DECLARE_FUNCTION_1(function13, bool)
+ DECLARE_FUNCTION_1(baggageCar, bool)
/**
* Updates parameter 2 using time value
@@ -100,9 +100,9 @@ public:
*/
DECLARE_FUNCTION_1(updateFromTime, uint32 time)
- DECLARE_FUNCTION_2(function15, EntityIndex entity, const char *soundName)
- DECLARE_FUNCTION_3(function16, EntityIndex entityIndex, const char *soundName1, const char *soundName2)
- DECLARE_FUNCTION(function17)
+ DECLARE_FUNCTION_2(dialog, EntityIndex entity, const char *soundName)
+ DECLARE_FUNCTION_3(dialog2, EntityIndex entityIndex, const char *soundName1, const char *soundName2)
+ DECLARE_FUNCTION(talkAboutPassengerList)
/**
* Setup Chapter 1
@@ -112,10 +112,10 @@ public:
DECLARE_FUNCTION_NOSETUP(talkHarem)
DECLARE_FUNCTION(talkPassengerList)
DECLARE_FUNCTION(talkGendarmes)
- DECLARE_FUNCTION(function22)
+ DECLARE_FUNCTION(askMertensToRelayAugustInvitation)
DECLARE_FUNCTION(function23)
DECLARE_FUNCTION(policeGettingOffTrain)
- DECLARE_FUNCTION(function25)
+ DECLARE_FUNCTION(policeSearch)
/**
* Handle Chapter 1 events
@@ -138,11 +138,11 @@ public:
DECLARE_FUNCTION(chapter3)
DECLARE_FUNCTION_1(function30, const char *soundName)
- DECLARE_FUNCTION(function31)
+ DECLARE_FUNCTION(talkAboutMax)
DECLARE_FUNCTION(function32)
DECLARE_FUNCTION(function33)
DECLARE_FUNCTION(function34)
- DECLARE_FUNCTION(function35)
+ DECLARE_FUNCTION(organizeConcertInvitations)
/**
* Setup Chapter 4
@@ -154,7 +154,7 @@ public:
*/
DECLARE_FUNCTION(chapter4Handler)
- DECLARE_FUNCTION(function38)
+ DECLARE_FUNCTION(resetState)
/**
* Setup Chapter 5
@@ -166,8 +166,8 @@ public:
*/
DECLARE_FUNCTION(chapter5Handler)
- DECLARE_FUNCTION(function41)
- DECLARE_FUNCTION(function42)
+ DECLARE_FUNCTION(askPassengersToStayInCompartments)
+ DECLARE_FUNCTION(end)
private:
void talk(const SavePoint &savepoint, const char *sound1, const char *sound2);
diff --git a/engines/lastexpress/fight/fight.cpp b/engines/lastexpress/fight/fight.cpp
index b00c1732e7..49a9b85657 100644
--- a/engines/lastexpress/fight/fight.cpp
+++ b/engines/lastexpress/fight/fight.cpp
@@ -39,10 +39,8 @@
#include "lastexpress/game/state.h"
#include "lastexpress/sound/queue.h"
-#include "lastexpress/sound/sound.h"
#include "lastexpress/graphics.h"
-#include "lastexpress/helpers.h"
#include "lastexpress/lastexpress.h"
#include "lastexpress/resource.h"
diff --git a/engines/lastexpress/game/action.cpp b/engines/lastexpress/game/action.cpp
index 60a309518a..796abf2ce7 100644
--- a/engines/lastexpress/game/action.cpp
+++ b/engines/lastexpress/game/action.cpp
@@ -394,7 +394,7 @@ Action::Action(LastExpressEngine *engine) : _engine(engine) {
}
Action::~Action() {
- for (int i = 0; i < (int)_actions.size(); i++)
+ for (uint i = 0; i < _actions.size(); i++)
SAFE_DELETE(_actions[i]);
_actions.clear();
@@ -421,8 +421,6 @@ SceneIndex Action::processHotspot(const SceneHotspot &hotspot) {
// Action 0
IMPLEMENT_ACTION(dummy)
error("[Action::action_dummy] Dummy action function called (hotspot action: %d)", hotspot.action);
-
- return kSceneInvalid;
}
//////////////////////////////////////////////////////////////////////////
diff --git a/engines/lastexpress/game/beetle.cpp b/engines/lastexpress/game/beetle.cpp
index 2a72459697..d7a369ba40 100644
--- a/engines/lastexpress/game/beetle.cpp
+++ b/engines/lastexpress/game/beetle.cpp
@@ -94,7 +94,7 @@ void Beetle::load() {
// Check that all sequences are loaded properly
_data->isLoaded = true;
- for (int i = 0; i < (int)_data->sequences.size(); i++) {
+ for (uint i = 0; i < _data->sequences.size(); i++) {
if (!_data->sequences[i]->isLoaded()) {
_data->isLoaded = false;
break;
@@ -351,6 +351,9 @@ void Beetle::drawUpdate() {
}
void Beetle::invertDirection() {
+ if (!_data)
+ error("[Beetle::invertDirection] Sequences have not been loaded");
+
switch (_data->indexes[_data->offset]) {
default:
break;
diff --git a/engines/lastexpress/game/entities.cpp b/engines/lastexpress/game/entities.cpp
index 51db635bed..fafbd7cb64 100644
--- a/engines/lastexpress/game/entities.cpp
+++ b/engines/lastexpress/game/entities.cpp
@@ -181,7 +181,7 @@ Entities::Entities(LastExpressEngine *engine) : _engine(engine) {
Entities::~Entities() {
SAFE_DELETE(_header);
- for (int i = 0; i < (int)_entities.size(); i++)
+ for (uint i = 0; i < _entities.size(); i++)
SAFE_DELETE(_entities[i]);
_entities.clear();
@@ -669,7 +669,7 @@ void Entities::executeCallbacks() {
//////////////////////////////////////////////////////////////////////////
// Processing
//////////////////////////////////////////////////////////////////////////
-void Entities::incrementDirectionCounter(EntityData::EntityCallData *data) {
+void Entities::incrementDirectionCounter(EntityData::EntityCallData *data) const {
data->doProcessEntity = false;
if (data->direction == kDirectionRight || (data->direction == kDirectionSwitch && data->directionSwitch == kDirectionRight))
diff --git a/engines/lastexpress/game/entities.h b/engines/lastexpress/game/entities.h
index a9de7931f0..81aed627aa 100644
--- a/engines/lastexpress/game/entities.h
+++ b/engines/lastexpress/game/entities.h
@@ -344,7 +344,7 @@ private:
uint _positions[_positionsCount];
void executeCallbacks();
- void incrementDirectionCounter(EntityData::EntityCallData *data);
+ void incrementDirectionCounter(EntityData::EntityCallData *data) const;
void processEntity(EntityIndex entity);
void drawSequence(EntityIndex entity, const char *sequence, EntityDirection direction) const;
diff --git a/engines/lastexpress/game/inventory.cpp b/engines/lastexpress/game/inventory.cpp
index 52c00ece31..11e7369ee1 100644
--- a/engines/lastexpress/game/inventory.cpp
+++ b/engines/lastexpress/game/inventory.cpp
@@ -35,10 +35,8 @@
#include "lastexpress/menu/menu.h"
#include "lastexpress/sound/queue.h"
-#include "lastexpress/sound/sound.h"
#include "lastexpress/graphics.h"
-#include "lastexpress/helpers.h"
#include "lastexpress/lastexpress.h"
#include "lastexpress/resource.h"
@@ -621,7 +619,7 @@ void Inventory::drawEgg() const {
// Blinking egg: we need to blink the egg for delta time, with the blinking getting faster until it's always lit.
void Inventory::drawBlinkingEgg(uint ticks) {
- uint globalTimer = getGlobalTimer();
+ uint globalTimer = (uint)getGlobalTimer();
uint timerValue = (getProgress().jacket == kJacketGreen) ? 450 : 225;
if (globalTimer == timerValue || globalTimer == 900) {
@@ -655,7 +653,7 @@ void Inventory::drawBlinkingEgg(uint ticks) {
}
void Inventory::blinkEgg() {
- drawItem((CursorStyle)(getMenu()->getGameId() + 39), 608, 448, (_blinkingBrightness == 0) ? -1 : _blinkingBrightness);
+ drawItem((CursorStyle)(getMenu()->getGameId() + 39), 608, 448, (_blinkingBrightness == 0) ? -1 : (int16)_blinkingBrightness);
askForRedraw();
diff --git a/engines/lastexpress/game/logic.cpp b/engines/lastexpress/game/logic.cpp
index 1696f100ff..09104d1bf9 100644
--- a/engines/lastexpress/game/logic.cpp
+++ b/engines/lastexpress/game/logic.cpp
@@ -48,7 +48,6 @@
#include "lastexpress/sound/queue.h"
-#include "lastexpress/graphics.h"
#include "lastexpress/lastexpress.h"
#include "lastexpress/resource.h"
diff --git a/engines/lastexpress/game/savegame.cpp b/engines/lastexpress/game/savegame.cpp
index 360e99146a..021dc40bb9 100644
--- a/engines/lastexpress/game/savegame.cpp
+++ b/engines/lastexpress/game/savegame.cpp
@@ -78,7 +78,7 @@ uint32 SavegameStream::read(void *dataPtr, uint32 dataSize) {
uint32 SavegameStream::readUncompressed(void *dataPtr, uint32 dataSize) {
if ((int32)dataSize > size() - pos()) {
- dataSize = size() - pos();
+ dataSize = (uint32)(size() - pos());
_eos = true;
}
memcpy(dataPtr, getData() + pos(), dataSize);
@@ -230,7 +230,7 @@ uint32 SavegameStream::writeCompressed(const void *dataPtr, uint32 dataSize) {
if (*data != _previousValue || _repeatCount >= 255) {
if (_previousValue) {
writeBuffer(0xFF, true);
- writeBuffer(_repeatCount, true);
+ writeBuffer((uint8)_repeatCount, true);
writeBuffer(_previousValue, true);
_previousValue = *data++;
@@ -255,7 +255,7 @@ uint32 SavegameStream::writeCompressed(const void *dataPtr, uint32 dataSize) {
}
writeBuffer(0xFD, true);
- writeBuffer(_repeatCount, true);
+ writeBuffer((uint8)_repeatCount, true);
_previousValue = *data++;
_valueCount = 1;
@@ -348,11 +348,12 @@ uint32 SavegameStream::readCompressed(void *dataPtr, uint32 dataSize) {
// Constructors
//////////////////////////////////////////////////////////////////////////
-SaveLoad::SaveLoad(LastExpressEngine *engine) : _engine(engine), _savegame(NULL), _gameTicksLastSavegame(0) {
+SaveLoad::SaveLoad(LastExpressEngine *engine) : _engine(engine), _savegame(NULL), _gameTicksLastSavegame(0), _entity(kEntityPlayer) {
}
SaveLoad::~SaveLoad() {
clear(true);
+ _savegame = NULL;
// Zero passed pointers
_engine = NULL;
@@ -481,10 +482,10 @@ void SaveLoad::clear(bool clearStream) {
// Save & Load
//////////////////////////////////////////////////////////////////////////
-// Load game
-void SaveLoad::loadGame(GameId id) {
+// Load last saved game
+void SaveLoad::loadLastGame() {
if (!_savegame)
- error("[SaveLoad::loadGame] No savegame stream present");
+ error("[SaveLoad::loadLastGame] No savegame stream present");
// Rewind current savegame
_savegame->seek(0);
@@ -521,7 +522,29 @@ void SaveLoad::loadGame(GameId id) {
}
// Load a specific game entry
-void SaveLoad::loadGame(GameId id, uint32 index) {
+void SaveLoad::loadGame(uint32 index) {
+ if (!_savegame)
+ error("[SaveLoad::loadLastGame] No savegame stream present");
+
+ // Rewind current savegame
+ _savegame->seek(0);
+
+ // Write main header (with selected index)
+ SavegameMainHeader header;
+ header.count = index;
+ header.brightness = getState()->brightness;
+ header.volume = getState()->volume;
+
+ Common::Serializer ser(NULL, _savegame);
+ header.saveLoadWithSerializer(ser);
+
+ // TODO
+ // Go to the entry
+ // Load the entry
+ // Get offset (main and entry)
+ // Write main header again with correct entry offset
+ // Setup game and start
+
error("[SaveLoad::loadGame] Not implemented! (only loading the last entry is working for now)");
}
@@ -550,7 +573,7 @@ void SaveLoad::saveGame(SavegameType type, EntityIndex entity, uint32 value) {
entry.saveLoadWithSerializer(ser);
if (!entry.isValid()) {
- error("[SaveLoad::saveGame] Invalid entry. This savegame might be corrupted");
+ warning("[SaveLoad::saveGame] Invalid entry. This savegame might be corrupted");
_savegame->seek(header.offset);
} else if (getState()->time < entry.time || (type == kSavegameTypeTickInterval && getState()->time == entry.time)) {
// Not ready to save a game, skipping!
@@ -634,6 +657,9 @@ bool SaveLoad::loadMainHeader(Common::InSaveFile *stream, SavegameMainHeader *he
// Entries
//////////////////////////////////////////////////////////////////////////
uint32 SaveLoad::writeValue(Common::Serializer &ser, const char *name, Common::Functor1<Common::Serializer &, void> *function, uint size) {
+ if (!_savegame)
+ error("[SaveLoad::writeValue] Stream not initialized properly");
+
debugC(kLastExpressDebugSavegame, "Savegame: Writing %s: %u bytes", name, size);
uint32 prevPosition = (uint32)_savegame->pos();
@@ -652,6 +678,9 @@ uint32 SaveLoad::writeValue(Common::Serializer &ser, const char *name, Common::F
}
uint32 SaveLoad::readValue(Common::Serializer &ser, const char *name, Common::Functor1<Common::Serializer &, void> *function, uint size) {
+ if (!_savegame)
+ error("[SaveLoad::readValue] Stream not initialized properly");
+
debugC(kLastExpressDebugSavegame, "Savegame: Reading %s: %u bytes", name, size);
uint32 prevPosition = (uint32)_savegame->pos();
diff --git a/engines/lastexpress/game/savegame.h b/engines/lastexpress/game/savegame.h
index 8656b2ee86..361957227e 100644
--- a/engines/lastexpress/game/savegame.h
+++ b/engines/lastexpress/game/savegame.h
@@ -153,8 +153,8 @@ public:
uint32 init(GameId id, bool resetHeaders);
// Save & Load
- void loadGame(GameId id);
- void loadGame(GameId id, uint32 index);
+ void loadLastGame();
+ void loadGame(uint32 index);
void saveGame(SavegameType type, EntityIndex entity, uint32 value);
void loadVolumeBrightness();
diff --git a/engines/lastexpress/game/savepoint.cpp b/engines/lastexpress/game/savepoint.cpp
index 6b2dfc5930..8d14ec386b 100644
--- a/engines/lastexpress/game/savepoint.cpp
+++ b/engines/lastexpress/game/savepoint.cpp
@@ -202,7 +202,7 @@ void SavePoints::callAndProcess() {
// Misc
//////////////////////////////////////////////////////////////////////////
bool SavePoints::updateEntityFromData(const SavePoint &savepoint) {
- for (int i = 0; i < (int)_data.size(); i++) {
+ for (uint i = 0; i < _data.size(); i++) {
// Not a data savepoint!
if (!_data[i].entity1)
@@ -210,7 +210,7 @@ bool SavePoints::updateEntityFromData(const SavePoint &savepoint) {
// Found our data!
if (_data[i].entity1 == savepoint.entity1 && _data[i].action == savepoint.action) {
- debugC(8, kLastExpressDebugLogic, "Update entity from data: entity1=%s, action=%s, param=%d", ENTITY_NAME(_data[i].entity1), ACTION_NAME(_data[i].action), _data[i].param);
+ debugC(8, kLastExpressDebugLogic, "Update entity from data: entity1=%s, action=%s, param=%u", ENTITY_NAME(_data[i].entity1), ACTION_NAME(_data[i].action), _data[i].param);
// the SavePoint param value is the index of the entity call parameter to update
getEntities()->get(_data[i].entity1)->getParamData()->updateParameters(_data[i].param);
diff --git a/engines/lastexpress/game/scenes.cpp b/engines/lastexpress/game/scenes.cpp
index 3cda900757..a2c7226b93 100644
--- a/engines/lastexpress/game/scenes.cpp
+++ b/engines/lastexpress/game/scenes.cpp
@@ -739,7 +739,7 @@ void SceneManager::resetQueue() {
_queue.clear();
}
-void SceneManager::setCoordinates(Common::Rect rect) {
+void SceneManager::setCoordinates(const Common::Rect &rect) {
_flagCoordinates = true;
if (_coords.right > rect.right)
diff --git a/engines/lastexpress/game/scenes.h b/engines/lastexpress/game/scenes.h
index a866c65111..1c7ae85f98 100644
--- a/engines/lastexpress/game/scenes.h
+++ b/engines/lastexpress/game/scenes.h
@@ -79,7 +79,7 @@ public:
void removeAndRedraw(SequenceFrame **frame, bool doRedraw);
void resetQueue();
void setCoordinates(SequenceFrame *frame);
- void setCoordinates(Common::Rect rect);
+ void setCoordinates(const Common::Rect &rect);
// Helpers
SceneIndex getSceneIndexFromPosition(CarIndex car, Position position, int param3 = -1);
diff --git a/engines/lastexpress/menu/menu.cpp b/engines/lastexpress/menu/menu.cpp
index 6a453aee99..c48e55bb55 100644
--- a/engines/lastexpress/menu/menu.cpp
+++ b/engines/lastexpress/menu/menu.cpp
@@ -916,13 +916,13 @@ void Menu::startGame() {
if (_lastIndex == _index) {
setGlobalTimer(0);
if (_index) {
- getSaveLoad()->loadGame(_gameId);
+ getSaveLoad()->loadLastGame();
} else {
getLogic()->resetState();
getEntities()->setup(true, kEntityPlayer);
}
} else {
- getSaveLoad()->loadGame(_gameId, _index);
+ getSaveLoad()->loadGame(_index);
}
}
diff --git a/engines/lastexpress/sound/entry.cpp b/engines/lastexpress/sound/entry.cpp
index f2a063e45f..3d22657124 100644
--- a/engines/lastexpress/sound/entry.cpp
+++ b/engines/lastexpress/sound/entry.cpp
@@ -116,10 +116,8 @@ void SoundEntry::close() {
}
void SoundEntry::play() {
- if (!_stream) {
+ if (!_stream)
error("[SoundEntry::play] stream has been disposed");
- return;
- }
// Prepare sound stream
if (!_soundStream)
diff --git a/engines/lastexpress/sound/queue.cpp b/engines/lastexpress/sound/queue.cpp
index d72acfd8a0..8904b48930 100644
--- a/engines/lastexpress/sound/queue.cpp
+++ b/engines/lastexpress/sound/queue.cpp
@@ -67,6 +67,8 @@ void SoundQueue::handleTimer() {
for (Common::List<SoundEntry *>::iterator i = _soundList.begin(); i != _soundList.end(); ++i) {
SoundEntry *entry = (*i);
+ if (entry == NULL)
+ error("[SoundQueue::handleTimer] Invalid entry found in sound queue");
// When the entry has stopped playing, we remove his buffer
if (entry->isFinished()) {
@@ -123,6 +125,8 @@ void SoundQueue::updateQueue() {
for (Common::List<SoundEntry *>::iterator it = _soundList.begin(); it != _soundList.end(); ++it) {
SoundEntry *entry = *it;
+ if (entry == NULL)
+ error("[SoundQueue::updateQueue] Invalid entry found in sound queue");
// Original removes the entry data from the cache and sets the archive as not loaded
// and if the sound data buffer is not full, loads a new entry to be played based on
@@ -179,6 +183,8 @@ void SoundQueue::clearQueue() {
for (Common::List<SoundEntry *>::iterator i = _soundList.begin(); i != _soundList.end(); ++i) {
SoundEntry *entry = (*i);
+ if (entry == NULL)
+ error("[SoundQueue::clearQueue] Invalid entry found in sound queue");
// Delete entry
entry->close();
diff --git a/engines/scumm/proc3ARM.s b/engines/scumm/proc3ARM.s
index ca44386b5c..75dd4b4a7f 100644
--- a/engines/scumm/proc3ARM.s
+++ b/engines/scumm/proc3ARM.s
@@ -25,37 +25,40 @@
.global _ClassicProc3RendererShadowARM
-.set _scaleIndexY , 112
-.set _numStrips , 108
-.set _palette , 104
-.set _shadow_table , 100
-.set _scaleIndexX , 96
-.set _scaleX , 92
-.set _height , 88
-.set store_r14 , 84
-.set store_r11 , 80
-.set store_r10 , 76
-.set store_r9 , 72
-.set store_r8 , 68
-.set store_r7 , 64
-.set store_r6 , 60
-.set store_r5 , 56
-.set store_r4 , 52
-.set src , 48
-.set height , 44
-.set len , 40
-.set v1_shr , 36
-.set v1_skip_width , 32
-.set v1_destptr , 28
-.set v1_scaleXstep , 24
-.set v1_mask_ptr , 20
-.set v1_y , 16
-.set v1_scaletable , 12
-.set pitch , 8
-.set scaleIdxXPtr , 4
-.set scaleIdxYPtr , 0
-.set space , 48
+.set space, 48
+
+.set _scaleIndexY, store_r14 + 28
+.set _numStrips, store_r14 + 24
+.set _palette, store_r14 + 20
+.set _shadow_table, store_r14 + 16
+.set _scaleIndexX, store_r14 + 12
+.set _scaleX, store_r14 + 8
+.set _height, store_r14 + 4
+
+.set store_r14, space + 36
+.set store_r11, space + 32
+.set store_r10, space + 28
+.set store_r9, space + 24
+.set store_r8, space + 20
+.set store_r7, space + 16
+.set store_r6, space + 12
+.set store_r5, space + 8
+.set store_r4, space + 4
+
+.set src, 48
+.set height, 44
+.set len, 40
+.set v1_shr, 36
+.set v1_skip_width, 32
+.set v1_destptr, 28
+.set v1_scaleXstep, 24
+.set v1_mask_ptr, 20
+.set v1_y, 16
+.set v1_scaletable, 12
+.set pitch, 8
+.set scaleIdxXPtr, 4
+.set scaleIdxYPtr, 0
@ r0 = _scaleY
@ r1 = v1
@@ -103,7 +106,7 @@ _ClassicProc3RendererShadowARM:
LDRB r1, [r1,#30] @ r1 = repcolor
STR r8, [r13,#v1_shr]
STR r9, [r13,#v1_destptr]
- STR r10,[r13,#v1_mask_ptr]
+ STR r10,[r13,#v1_mask_ptr]
STR r11,[r13,#v1_scaleXstep]
LDR r12,[r13,#_height]
@@ -123,10 +126,10 @@ _ClassicProc3RendererShadowARM:
@ r12= _height
@ r14= v1.replen
- MOV r8,#0x80
+ MOV r8,#0x80
AND r11,r3,#7 @ r11= v1.x & 7
MOV r8,r8,LSR r11 @ r8 = maskbit = revBitMask(v1.x & 7)
- ADD r10,r10,r3,ASR #3 @ r10= mask = v1.mask_ptr + (v1.x>>3)
+ ADD r10,r10,r3,ASR #3 @ r10= mask = v1.mask_ptr + (v1.x>>3)
@ r0 = _scaleY
@ r1 = color = v1.repcolor
@@ -152,7 +155,7 @@ _ClassicProc3RendererShadowARM:
SUB r14,r14,r5
STR r12,[r13,#height]
STR r14,[r13,#len]
- LDR r12,[r13,#pitch]
+ LDR r12,[r13,#pitch]
LDR r11,[r13,#_numStrips]
B startpos
@@ -174,13 +177,13 @@ outerloop:
LDR r11,[r13,#src]
LDR r5,[r13,#v1_shr]
- @ stall
+ @ stall
LDRB r14,[r11],#1 @ r14= len = *src++
@ stall
@ stall
MOV r1, r14,LSR r5 @ r1 = color = len>>v1.shr
- BICS r14,r14,r1,LSL r5 @ r14= len
- LDREQB r14,[r11],#1 @ if (!len) r14 = len = *src++
+ BICS r14,r14,r1,LSL r5 @ r14= len
+ LDREQB r14,[r11],#1 @ if (!len) r14 = len = *src++
STR r11,[r13,#src]
CMP r14,#0
middleloop:
@@ -232,7 +235,7 @@ innerloop:
CMPLE r0,r14 @ || _scaleY >= r14
BLE startpos
- ADDS r4,r4,#1 @ y >= 0 (equiv to y>-1,y+1>0)
+ ADDS r4,r4,#1 @ y >= 0 (equiv to y>-1,y+1>0)
CMPGT r1,#0 @ && color > 0
CMPGT r6,r4 @ && _out.h+1 > y+1
CMNGT r3,#1 @ && x >= 0 (equiv to x>-1,x+1>0)
@@ -248,12 +251,12 @@ innerloop:
@ stall
@ stall
CMP r14,#13 @ if (pcolor == 13)
- LDREQ r12,[r13,#_shadow_table]
+ LDREQ r12,[r13,#_shadow_table]
LDREQB r14,[r9] @ r14 = *dst
@ stallEQ
@ stallEQ
LDREQB r14,[r12,r14] @ r14 = pcolor=_shadow_tab[r14]
- LDREQ r12,[r13,#pitch]
+ LDREQ r12,[r13,#pitch]
@ stallEQ
STRB r14,[r9] @ *dst = pcolor
masked:
@@ -282,7 +285,7 @@ startpos:
BLE noXstep
SUB r11,r7,#1
- ADDS r3,r3,r12 @ v1.x += v1.scaleXstep
+ ADDS r3,r3,r12 @ v1.x += v1.scaleXstep
@ if v1.x < 0 ||
CMPGE r11,r3 @ _out.w-1 < v1.x
BLT end
@@ -297,7 +300,7 @@ noXstep:
LDR r12,[r13,#_height] @ r12= height = _height
LDR r4,[r13,#v1_y] @ r4 = y = v1.y
LDR r2,[r13,#scaleIdxYPtr] @ r2 = v1.scaletable[sclIdxY]
- ADD r10,r10,r3,ASR #3 @ mask=v1.mask_ptr+(v1.x>>3)
+ ADD r10,r10,r3,ASR #3 @ mask=v1.mask_ptr+(v1.x>>3)
notheight:
CMP r14,#0 @ while (len > 0)
BGT middleloop
@@ -305,5 +308,5 @@ notheight:
end:
LDR r0,[r13,#v1_scaletable]
SUB r0,r2,r0
- ADD r13,r13,#space
+ ADD r13,r13,#space
LDMFD r13!,{r3-r11,PC}
diff --git a/graphics/decoders/tga.cpp b/graphics/decoders/tga.cpp
new file mode 100644
index 0000000000..0b2318e127
--- /dev/null
+++ b/graphics/decoders/tga.cpp
@@ -0,0 +1,424 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+/* Based on code from xoreos https://github.com/DrMcCoy/xoreos/
+ * relicensed under GPLv2+ with permission from DrMcCoy and clone2727
+ */
+
+#include "common/util.h"
+#include "common/stream.h"
+#include "common/textconsole.h"
+#include "common/error.h"
+
+#include "graphics/decoders/tga.h"
+
+namespace Graphics {
+
+TGADecoder::TGADecoder() {
+ _colorMapSize = 0;
+ _colorMapOrigin = 0;
+ _colorMapLength = 0;
+ _colorMapEntryLength = 0;
+ _colorMap = NULL;
+}
+
+TGADecoder::~TGADecoder() {
+ destroy();
+}
+
+void TGADecoder::destroy() {
+ _surface.free();
+ delete[] _colorMap;
+}
+
+bool TGADecoder::loadStream(Common::SeekableReadStream &tga) {
+ byte imageType, pixelDepth;
+ bool success;
+ success = readHeader(tga, imageType, pixelDepth);
+ if (success) {
+ switch (imageType) {
+ case TYPE_BW:
+ case TYPE_TRUECOLOR:
+ success = readData(tga, imageType, pixelDepth);
+ break;
+ case TYPE_RLE_BW:
+ case TYPE_RLE_TRUECOLOR:
+ case TYPE_RLE_CMAP:
+ success = readDataRLE(tga, imageType, pixelDepth);
+ break;
+ case TYPE_CMAP:
+ success = readDataColorMapped(tga, imageType, pixelDepth);
+ break;
+ default:
+ success = false;
+ break;
+ }
+ }
+ if (tga.err() || !success) {
+ warning("Failed reading TGA-file");
+ return false;
+ }
+ return success;
+}
+
+bool TGADecoder::readHeader(Common::SeekableReadStream &tga, byte &imageType, byte &pixelDepth) {
+ if (!tga.seek(0)) {
+ warning("Failed reading TGA-file");
+ return false;
+ }
+
+ // TGAs have an optional "id" string in the header
+ uint32 idLength = tga.readByte();
+
+ // Number of colors in the color map / palette
+ int hasColorMap = tga.readByte();
+
+ // Image type. See header for numeric constants
+ imageType = tga.readByte();
+
+ switch (imageType) {
+ case TYPE_CMAP:
+ case TYPE_TRUECOLOR:
+ case TYPE_BW:
+ case TYPE_RLE_CMAP:
+ case TYPE_RLE_TRUECOLOR:
+ case TYPE_RLE_BW:
+ break;
+ default:
+ warning("Unsupported image type: %d", imageType);
+ return false;
+ }
+
+ // Color map specifications
+ if (hasColorMap == 0) {
+ tga.skip(5);
+ } else {
+ _colorMapOrigin = tga.readUint16LE();
+ _colorMapLength = tga.readUint16LE();
+ _colorMapEntryLength = tga.readByte();
+ }
+ // Origin-defintions
+ tga.skip(2 + 2);
+
+ // Image dimensions
+ _surface.w = tga.readUint16LE();
+ _surface.h = tga.readUint16LE();
+
+ // Bits per pixel
+ pixelDepth = tga.readByte();
+ _surface.format.bytesPerPixel = pixelDepth / 8;
+
+ // Image descriptor
+ byte imgDesc = tga.readByte();
+ int attributeBits = imgDesc & 0x0F;
+ assert((imgDesc & 0x10) == 0);
+ _originTop = (imgDesc & 0x20);
+
+ // Interleaving is not handled at this point
+ //int interleave = (imgDesc & 0xC);
+ if (imageType == TYPE_CMAP || imageType == TYPE_RLE_CMAP) {
+ if (pixelDepth == 8) {
+ _format = PixelFormat::createFormatCLUT8();
+ } else {
+ warning("Unsupported index-depth: %d", pixelDepth);
+ return false;
+ }
+ } else if (imageType == TYPE_TRUECOLOR || imageType == TYPE_RLE_TRUECOLOR) {
+ if (pixelDepth == 24) {
+ _format = PixelFormat(3, 8, 8, 8, 0, 16, 8, 0, 0);
+ } else if (pixelDepth == 32) {
+ _format = PixelFormat(4, 8, 8, 8, attributeBits, 16, 8, 0, 24);
+ } else if (pixelDepth == 16 && imageType == TYPE_TRUECOLOR) {
+ // 16bpp TGA is ARGB1555
+ _format = PixelFormat(2, 5, 5, 5, attributeBits, 10, 5, 0, 15);
+ } else {
+ warning("Unsupported pixel depth: %d, %d", imageType, pixelDepth);
+ return false;
+ }
+ } else if (imageType == TYPE_BW || TYPE_RLE_BW) {
+ if (pixelDepth == 8) {
+ _format = PixelFormat(4, 8, 8, 8, 0, 16, 8, 0, 0);
+ } else {
+ warning("Unsupported pixel depth: %d, %d", imageType, pixelDepth);
+ return false;
+ }
+
+ } else {
+ warning("Unsupported image type: %d", imageType);
+ return false;
+ }
+
+ // Skip the id string
+ tga.skip(idLength);
+
+ if (hasColorMap) {
+ return readColorMap(tga, imageType, pixelDepth);
+ }
+ return true;
+}
+
+bool TGADecoder::readColorMap(Common::SeekableReadStream &tga, byte imageType, byte pixelDepth) {
+ _colorMap = new byte[3 * _colorMapLength];
+ for (int i = 0; i < _colorMapLength * 3; i += 3) {
+ byte r, g, b;
+ if (_colorMapEntryLength == 32) {
+ byte a;
+ PixelFormat format(4, 8, 8, 8, 0, 16, 8, 0, 24);
+ uint32 color = tga.readUint32LE();
+ format.colorToARGB(color, a, r, g, b);
+ } else if (_colorMapEntryLength == 24) {
+ r = tga.readByte();
+ g = tga.readByte();
+ b = tga.readByte();
+ } else if (_colorMapEntryLength == 16) {
+ byte a;
+ PixelFormat format(2, 5, 5, 5, 0, 10, 5, 0, 15);
+ uint16 color = tga.readUint16LE();
+ format.colorToARGB(color, a, r, g, b);
+ } else {
+ warning("Unsupported image type: %d", imageType);
+ r = g = b = 0;
+ }
+#ifdef SCUMM_LITTLE_ENDIAN
+ _colorMap[i] = r;
+ _colorMap[i + 1] = g;
+ _colorMap[i + 2] = b;
+#else
+ _colorMap[i] = b;
+ _colorMap[i + 1] = g;
+ _colorMap[i + 2] = r;
+#endif
+ }
+ return true;
+}
+
+// Additional information found from http://paulbourke.net/dataformats/tga/
+// With some details from the link referenced in the header.
+bool TGADecoder::readData(Common::SeekableReadStream &tga, byte imageType, byte pixelDepth) {
+ // TrueColor
+ if (imageType == TYPE_TRUECOLOR) {
+ _surface.create(_surface.w, _surface.h, _format);
+
+ if (pixelDepth == 16) {
+ for (int i = 0; i < _surface.h; i++) {
+ uint16 *dst;
+ if (!_originTop) {
+ dst = (uint16 *)_surface.getBasePtr(0, _surface.h - i - 1);
+ } else {
+ dst = (uint16 *)_surface.getBasePtr(0, i);
+ }
+ for (int j = 0; j < _surface.w; j++) {
+ *dst++ = tga.readUint16LE();
+ }
+ }
+ } else if (pixelDepth == 32) {
+ for (int i = 0; i < _surface.h; i++) {
+ uint32 *dst;
+ if (!_originTop) {
+ dst = (uint32 *)_surface.getBasePtr(0, _surface.h - i - 1);
+ } else {
+ dst = (uint32 *)_surface.getBasePtr(0, i);
+ }
+ for (int j = 0; j < _surface.w; j++) {
+ *dst++ = tga.readUint32LE();
+ }
+ }
+ } else if (pixelDepth == 24) {
+ for (int i = 0; i < _surface.h; i++) {
+ byte *dst;
+ if (!_originTop) {
+ dst = (byte *)_surface.getBasePtr(0, _surface.h - i - 1);
+ } else {
+ dst = (byte *)_surface.getBasePtr(0, i);
+ }
+ for (int j = 0; j < _surface.w; j++) {
+ byte r = tga.readByte();
+ byte g = tga.readByte();
+ byte b = tga.readByte();
+#ifdef SCUMM_LITTLE_ENDIAN
+ *dst++ = r;
+ *dst++ = g;
+ *dst++ = b;
+#else
+ *dst++ = b;
+ *dst++ = g;
+ *dst++ = r;
+#endif
+ }
+ }
+ }
+ // Black/White
+ } else if (imageType == TYPE_BW) {
+ _surface.create(_surface.w, _surface.h, _format);
+
+ byte *data = (byte *)_surface.pixels;
+ uint32 count = _surface.w * _surface.h;
+
+ while (count-- > 0) {
+ byte g = tga.readByte();
+ *data++ = g;
+ *data++ = g;
+ *data++ = g;
+ *data++ = g;
+ }
+ }
+ return true;
+}
+
+bool TGADecoder::readDataColorMapped(Common::SeekableReadStream &tga, byte imageType, byte indexDepth) {
+ // Color-mapped
+ if (imageType == TYPE_CMAP) {
+ _surface.create(_surface.w, _surface.h, _format);
+ if (indexDepth == 8) {
+ for (int i = 0; i < _surface.h; i++) {
+ byte *dst;
+ if (!_originTop) {
+ dst = (byte *)_surface.getBasePtr(0, _surface.h - i - 1);
+ } else {
+ dst = (byte *)_surface.getBasePtr(0, i);
+ }
+ for (int j = 0; j < _surface.w; j++) {
+ byte index = tga.readByte();
+ *dst++ = index;
+ }
+ }
+ } else if (indexDepth == 16) {
+ warning("16 bit indexes not supported");
+ return false;
+ }
+ } else {
+ return false;
+ }
+ return true;
+}
+
+bool TGADecoder::readDataRLE(Common::SeekableReadStream &tga, byte imageType, byte pixelDepth) {
+ // RLE-TrueColor / RLE-Black/White
+ if (imageType == TYPE_RLE_TRUECOLOR || imageType == TYPE_RLE_BW || imageType == TYPE_RLE_CMAP) {
+ _surface.create(_surface.w, _surface.h, _format);
+ uint32 count = _surface.w * _surface.h;
+ byte *data = (byte *)_surface.pixels;
+
+ while (count > 0) {
+ uint32 header = tga.readByte();
+ byte type = (header & 0x80) >> 7;
+ uint32 rleCount = (header & 0x7F) + 1;
+
+ // RLE-packet
+ if (type == 1) {
+ if (pixelDepth == 32 && imageType == TYPE_RLE_TRUECOLOR) {
+ uint32 color = tga.readUint32LE();
+ while (rleCount-- > 0) {
+ *((uint32 *)data) = color;
+ data += 4;
+ count--;
+ }
+ } else if (pixelDepth == 24 && imageType == TYPE_RLE_TRUECOLOR) {
+ byte r = tga.readByte();
+ byte g = tga.readByte();
+ byte b = tga.readByte();
+ while (rleCount-- > 0) {
+#ifdef SCUMM_LITTLE_ENDIAN
+ *data++ = r;
+ *data++ = g;
+ *data++ = b;
+#else
+ *data++ = b;
+ *data++ = g;
+ *data++ = r;
+#endif
+ count--;
+ }
+ } else if (pixelDepth == 8 && imageType == TYPE_RLE_BW) {
+ byte color = tga.readByte();
+ while (rleCount-- > 0) {
+ *data++ = color;
+ *data++ = color;
+ *data++ = color;
+ *data++ = color;
+ count--;
+ }
+ } else if (pixelDepth == 8 && imageType == TYPE_RLE_CMAP) {
+ byte index = tga.readByte();
+ while (rleCount-- > 0) {
+ *data++ = index;
+ count--;
+ }
+ } else {
+ warning("Unhandled pixel-depth for image-type 10");
+ return false;
+ }
+ // Raw-packet
+ } else if (type == 0) {
+ if (pixelDepth == 32 && imageType == TYPE_RLE_TRUECOLOR) {
+ while (rleCount-- > 0) {
+ uint32 color = tga.readUint32LE();
+ *((uint32 *)data) = color;
+ data += 4;
+ count--;
+ }
+ } else if (pixelDepth == 24 && imageType == TYPE_RLE_TRUECOLOR) {
+ while (rleCount-- > 0) {
+ byte r = tga.readByte();
+ byte g = tga.readByte();
+ byte b = tga.readByte();
+#ifdef SCUMM_LITTLE_ENDIAN
+ *data++ = r;
+ *data++ = g;
+ *data++ = b;
+#else
+ *data++ = b;
+ *data++ = g;
+ *data++ = r;
+#endif
+ count--;
+ }
+ } else if (pixelDepth == 8 && imageType == TYPE_RLE_BW) {
+ while (rleCount-- > 0) {
+ byte color = tga.readByte();
+ *data++ = color;
+ *data++ = color;
+ *data++ = color;
+ *data++ = color;
+ count--;
+ }
+ } else if (pixelDepth == 8 && imageType == TYPE_RLE_CMAP) {
+ while (rleCount-- > 0) {
+ byte index = tga.readByte();
+ *data++ = index;
+ count--;
+ }
+ } else {
+ warning("Unhandled pixel-depth for image-type 10");
+ return false;
+ }
+ } else {
+ warning("Unknown header for RLE-packet %d", type);
+ return false;
+ }
+ }
+ } else {
+ return false;
+ }
+ return true;
+}
+
+} // End of namespace Graphics
diff --git a/graphics/decoders/tga.h b/graphics/decoders/tga.h
new file mode 100644
index 0000000000..dfdc5a4da9
--- /dev/null
+++ b/graphics/decoders/tga.h
@@ -0,0 +1,98 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+/* Based on code from eos https://github.com/DrMcCoy/xoreos/
+ * relicensed under GPLv2+ with permission from DrMcCoy and clone2727
+ */
+
+/*
+ * TGA decoder used in engines:
+ * - none
+ */
+
+#ifndef GRAPHICS_DECODERS_TGA_H
+#define GRAPHICS_DECODERS_TGA_H
+
+#include "graphics/surface.h"
+#include "graphics/decoders/image_decoder.h"
+
+namespace Common {
+class SeekableReadStream;
+}
+
+namespace Graphics {
+
+/** TarGa image-decoder
+ * The following variations of TGA are supported:
+ * - Type 1 - Color-mapped images in 16/24/32 bpp with 8 bit indexes
+ * - Type 2 - 16/24/32 bpp Top AND Bottom origined.
+ * - Type 3 - Black/White images, 8bpp.
+ * - Type 9 - RLE-encoded color-mapped images. (8 bit indexes only)
+ * - Type 10 - RLE-encoded TrueColor, 24/32bpp.
+ * - Type 11 - RLE-encoded Black/White, 8bpp.
+ *
+ * No images are returned with a palette, instead they are converted
+ * to 16 bpp for Type 1, or 32 bpp for Black/White-images.
+ */
+class TGADecoder : public ImageDecoder {
+public:
+ TGADecoder();
+ virtual ~TGADecoder();
+ virtual void destroy();
+ virtual const Surface *getSurface() const { return &_surface; }
+ virtual const byte *getPalette() const { return _colorMap; }
+ virtual uint16 getPaletteColorCount() const { return _colorMapLength; }
+ virtual bool loadStream(Common::SeekableReadStream &stream);
+private:
+ // Format-spec from:
+ //http://www.ludorg.net/amnesia/TGA_File_Format_Spec.html
+ enum {
+ TYPE_CMAP = 1,
+ TYPE_TRUECOLOR = 2,
+ TYPE_BW = 3,
+ TYPE_RLE_CMAP = 9,
+ TYPE_RLE_TRUECOLOR = 10,
+ TYPE_RLE_BW = 11
+ };
+
+ // Color-map:
+ bool _colorMapSize;
+ byte *_colorMap;
+ int16 _colorMapOrigin;
+ int16 _colorMapLength;
+ byte _colorMapEntryLength;
+
+ // Origin may be at the top, or bottom
+ bool _originTop;
+
+ PixelFormat _format;
+ Surface _surface;
+ // Loading helpers
+ bool readHeader(Common::SeekableReadStream &tga, byte &imageType, byte &pixelDepth);
+ bool readData(Common::SeekableReadStream &tga, byte imageType, byte pixelDepth);
+ bool readDataColorMapped(Common::SeekableReadStream &tga, byte imageType, byte indexDepth);
+ bool readDataRLE(Common::SeekableReadStream &tga, byte imageType, byte pixelDepth);
+ bool readColorMap(Common::SeekableReadStream &tga, byte imageType, byte pixelDepth);
+};
+
+} // End of namespace Graphics
+
+#endif // GRAPHICS_DECODERS_TGA_H
diff --git a/graphics/module.mk b/graphics/module.mk
index 281f904b38..e67efd2cf5 100644
--- a/graphics/module.mk
+++ b/graphics/module.mk
@@ -26,7 +26,8 @@ MODULE_OBJS := \
decoders/bmp.o \
decoders/jpeg.o \
decoders/pict.o \
- decoders/png.o
+ decoders/png.o \
+ decoders/tga.o
ifdef USE_SCALERS
MODULE_OBJS += \
diff --git a/gui/credits.h b/gui/credits.h
index f19002a2d8..88d492098b 100644
--- a/gui/credits.h
+++ b/gui/credits.h
@@ -479,6 +479,9 @@ static const char *credits[] = {
"C1""French",
"C0""Thierry Crozat",
"",
+"C1""Galician",
+"C0""Santiago G. Sanz",
+"",
"C1""German",
"C0""Simon Sawatzki",
"C0""Lothar Serra Mari",
diff --git a/gui/themes/translations.dat b/gui/themes/translations.dat
index d81c1a0475..1c3abf84a8 100644
--- a/gui/themes/translations.dat
+++ b/gui/themes/translations.dat
Binary files differ
diff --git a/po/ca_ES.po b/po/ca_ES.po
index 3e8ade3923..da2586a2af 100644
--- a/po/ca_ES.po
+++ b/po/ca_ES.po
@@ -5,10 +5,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: ScummVM 1.3.0svn\n"
+"Project-Id-Version: ScummVM 1.6.0git\n"
"Report-Msgid-Bugs-To: scummvm-devel@lists.sf.net\n"
-"POT-Creation-Date: 2012-08-12 14:57+0200\n"
-"PO-Revision-Date: 2011-10-04 20:51+0100\n"
+"POT-Creation-Date: 2012-08-27 15:46+0200\n"
+"PO-Revision-Date: 2012-08-26 20:32+0100\n"
"Last-Translator: Jordi Vilalta Prat <jvprat@jvprat.com>\n"
"Language-Team: Catalan <scummvm-devel@lists.sf.net>\n"
"Language: Catalan\n"
@@ -45,7 +45,7 @@ msgstr "Amunt"
#: gui/browser.cpp:69 gui/chooser.cpp:45 gui/KeysDialog.cpp:43
#: gui/launcher.cpp:345 gui/massadd.cpp:94 gui/options.cpp:1228
#: gui/saveload-dialog.cpp:207 gui/saveload-dialog.cpp:267
-#: gui/saveload-dialog.cpp:516 gui/saveload-dialog.cpp:843
+#: gui/saveload-dialog.cpp:516 gui/saveload-dialog.cpp:847
#: gui/themebrowser.cpp:54 engines/engine.cpp:442
#: engines/scumm/dialogs.cpp:190 engines/sword1/control.cpp:865
#: engines/parallaction/saveload.cpp:274 backends/platform/wii/options.cpp:48
@@ -78,7 +78,6 @@ msgid "Remap keys"
msgstr "Assigna les tecles"
#: gui/gui-manager.cpp:129 base/main.cpp:307
-#, fuzzy
msgid "Toggle FullScreen"
msgstr "Commuta la pantalla completa"
@@ -92,15 +91,15 @@ msgstr "Assigna"
#: gui/KeysDialog.cpp:42 gui/launcher.cpp:346 gui/launcher.cpp:1001
#: gui/launcher.cpp:1005 gui/massadd.cpp:91 gui/options.cpp:1229
-#: gui/saveload-dialog.cpp:844 engines/engine.cpp:361 engines/engine.cpp:372
+#: gui/saveload-dialog.cpp:848 engines/engine.cpp:361 engines/engine.cpp:372
#: engines/scumm/dialogs.cpp:192 engines/scumm/scumm.cpp:1775
-#: engines/agos/animation.cpp:561 engines/groovie/script.cpp:420
+#: engines/agos/animation.cpp:558 engines/groovie/script.cpp:420
#: engines/sky/compact.cpp:131 engines/sky/compact.cpp:141
-#: engines/sword1/animation.cpp:539 engines/sword1/animation.cpp:560
-#: engines/sword1/animation.cpp:570 engines/sword1/animation.cpp:577
+#: engines/sword1/animation.cpp:519 engines/sword1/animation.cpp:540
+#: engines/sword1/animation.cpp:550 engines/sword1/animation.cpp:557
#: engines/sword1/control.cpp:865 engines/sword1/logic.cpp:1633
-#: engines/sword2/animation.cpp:435 engines/sword2/animation.cpp:455
-#: engines/sword2/animation.cpp:465 engines/sword2/animation.cpp:474
+#: engines/sword2/animation.cpp:419 engines/sword2/animation.cpp:439
+#: engines/sword2/animation.cpp:449 engines/sword2/animation.cpp:458
#: engines/parallaction/saveload.cpp:274 backends/platform/wii/options.cpp:47
#: backends/platform/wince/CELauncherDialog.cpp:54
msgid "OK"
@@ -194,9 +193,8 @@ msgid "Platform:"
msgstr "Platafor.:"
#: gui/launcher.cpp:231
-#, fuzzy
msgid "Engine"
-msgstr "Examina"
+msgstr "Motor"
#: gui/launcher.cpp:239 gui/options.cpp:1062 gui/options.cpp:1079
msgid "Graphics"
@@ -934,11 +932,11 @@ msgstr ""
#: gui/saveload-dialog.cpp:158
msgid "List view"
-msgstr ""
+msgstr "Vista de llistat"
#: gui/saveload-dialog.cpp:159
msgid "Grid view"
-msgstr ""
+msgstr "Vista de quadrícula"
#: gui/saveload-dialog.cpp:202 gui/saveload-dialog.cpp:350
msgid "No date saved"
@@ -960,15 +958,15 @@ msgstr "Suprimeix"
msgid "Do you really want to delete this savegame?"
msgstr "Realment voleu suprimir aquesta partida?"
-#: gui/saveload-dialog.cpp:375 gui/saveload-dialog.cpp:796
+#: gui/saveload-dialog.cpp:375 gui/saveload-dialog.cpp:800
msgid "Date: "
msgstr "Data: "
-#: gui/saveload-dialog.cpp:379 gui/saveload-dialog.cpp:802
+#: gui/saveload-dialog.cpp:379 gui/saveload-dialog.cpp:806
msgid "Time: "
msgstr "Hora: "
-#: gui/saveload-dialog.cpp:385 gui/saveload-dialog.cpp:810
+#: gui/saveload-dialog.cpp:385 gui/saveload-dialog.cpp:814
msgid "Playtime: "
msgstr "Temps de joc: "
@@ -978,31 +976,28 @@ msgstr "Partida sense títol"
#: gui/saveload-dialog.cpp:517
msgid "Next"
-msgstr ""
+msgstr "Següent"
#: gui/saveload-dialog.cpp:520
msgid "Prev"
-msgstr ""
+msgstr "Anterior"
-#: gui/saveload-dialog.cpp:684
-#, fuzzy
+#: gui/saveload-dialog.cpp:688
msgid "New Save"
-msgstr "Desa"
+msgstr "Nova partida desada"
-#: gui/saveload-dialog.cpp:684
-#, fuzzy
+#: gui/saveload-dialog.cpp:688
msgid "Create a new save game"
-msgstr "No s'ha pogut desar l'estat del joc"
+msgstr "Crea una nova partida desada"
-#: gui/saveload-dialog.cpp:789
-#, fuzzy
+#: gui/saveload-dialog.cpp:793
msgid "Name: "
-msgstr "Nom:"
+msgstr "Nom: "
-#: gui/saveload-dialog.cpp:861
+#: gui/saveload-dialog.cpp:865
#, c-format
msgid "Enter a description for slot %d:"
-msgstr ""
+msgstr "Entreu la descripció per l'espai %d:"
#: gui/themebrowser.cpp:44
msgid "Select a Theme"
@@ -1206,13 +1201,13 @@ msgstr ""
"la informació bàsica i les instruccions sobre com obtenir més assistència."
#: engines/dialogs.cpp:228
-#, fuzzy, c-format
+#, c-format
msgid ""
"Gamestate save failed (%s)! Please consult the README for basic information, "
"and for instructions on how to obtain further assistance."
msgstr ""
-"Aquest motor no ofereix ajuda dins el joc. Consulteu el fitxer README per a "
-"la informació bàsica i les instruccions sobre com obtenir més assistència."
+"No s'ha pogut desar la partida (%s)! Consulteu el fitxer README per a la "
+"informació bàsica i les instruccions sobre com obtenir més assistència."
#: engines/dialogs.cpp:301 engines/mohawk/dialogs.cpp:109
#: engines/mohawk/dialogs.cpp:174
@@ -1273,13 +1268,13 @@ msgstr ""
"Consulteu el fitxer README per a més detalls."
#: engines/engine.cpp:426
-#, fuzzy, c-format
+#, c-format
msgid ""
"Gamestate load failed (%s)! Please consult the README for basic information, "
"and for instructions on how to obtain further assistance."
msgstr ""
-"Aquest motor no ofereix ajuda dins el joc. Consulteu el fitxer README per a "
-"la informació bàsica i les instruccions sobre com obtenir més assistència."
+"No s'ha pogut carregar la partida (%s)! Consulteu el fitxer README per a la "
+"informació bàsica i les instruccions sobre com obtenir més assistència."
#: engines/engine.cpp:439
msgid ""
@@ -1295,15 +1290,16 @@ msgstr ""
msgid "Start anyway"
msgstr "Inicia de totes maneres"
-#: engines/agi/detection.cpp:145 engines/dreamweb/detection.cpp:47
+#: engines/agi/detection.cpp:142 engines/dreamweb/detection.cpp:47
#: engines/sci/detection.cpp:390
msgid "Use original save/load screens"
-msgstr ""
+msgstr "Utilitza les pantalles originals de desat/càrrega"
-#: engines/agi/detection.cpp:146 engines/dreamweb/detection.cpp:48
+#: engines/agi/detection.cpp:143 engines/dreamweb/detection.cpp:48
#: engines/sci/detection.cpp:391
msgid "Use the original save/load screens, instead of the ScummVM ones"
msgstr ""
+"Utilitza les pantalles originals de desat/càrrega, en lloc de les de ScummVM"
#: engines/agi/saveload.cpp:816 engines/sci/engine/kfile.cpp:838
msgid "Restore game:"
@@ -1314,68 +1310,71 @@ msgid "Restore"
msgstr "Restaura"
#: engines/dreamweb/detection.cpp:57
-#, fuzzy
msgid "Use bright palette mode"
-msgstr "Element superior dret"
+msgstr "Utilitza el mode de paleta brillant"
#: engines/dreamweb/detection.cpp:58
msgid "Display graphics using the game's bright palette"
-msgstr ""
+msgstr "Mostra els gràfics utilitzant la paleta brillant del joc"
#: engines/sci/detection.cpp:370
msgid "EGA undithering"
msgstr "Elimina el tramat d'EGA"
#: engines/sci/detection.cpp:371
-#, fuzzy
msgid "Enable undithering in EGA games"
-msgstr "Activa l'eliminació del tramat en els jocs EGA que ho suportin"
+msgstr "Activa l'eliminació del tramat en els jocs EGA"
#: engines/sci/detection.cpp:380
-#, fuzzy
msgid "Prefer digital sound effects"
-msgstr "Volum dels sons d'efectes especials"
+msgstr "Prefereix efectes de so digitals"
#: engines/sci/detection.cpp:381
msgid "Prefer digital sound effects instead of synthesized ones"
-msgstr ""
+msgstr "Prefereix els efectes de so digitals en lloc dels sintetitzats"
#: engines/sci/detection.cpp:400
msgid "Use IMF/Yamaha FB-01 for MIDI output"
-msgstr ""
+msgstr "Utilitza IMF/Yamaha FB-01 per la sortida MIDI"
#: engines/sci/detection.cpp:401
msgid ""
"Use an IBM Music Feature card or a Yamaha FB-01 FM synth module for MIDI "
"output"
msgstr ""
+"Utilitza una tarja IBM Music Feature o un mòdul sintetitzador Yamaha FB-01 "
+"FM per la sortida MIDI"
#: engines/sci/detection.cpp:411
msgid "Use CD audio"
-msgstr ""
+msgstr "Utilitza l'àudio del CD"
#: engines/sci/detection.cpp:412
msgid "Use CD audio instead of in-game audio, if available"
msgstr ""
+"Utilitza l'àudio del CD en lloc de l'àudio intern del joc, si està disponible"
#: engines/sci/detection.cpp:422
msgid "Use Windows cursors"
-msgstr ""
+msgstr "Utilitza els cursors de Windows"
#: engines/sci/detection.cpp:423
msgid ""
"Use the Windows cursors (smaller and monochrome) instead of the DOS ones"
msgstr ""
+"Utilitza els cursors de Windows (més petits i en blanc i negre) en lloc dels "
+"de DOS"
#: engines/sci/detection.cpp:433
-#, fuzzy
msgid "Use silver cursors"
-msgstr "Cursor normal"
+msgstr "Utilitza cursors platejats"
#: engines/sci/detection.cpp:434
msgid ""
"Use the alternate set of silver cursors, instead of the normal golden ones"
msgstr ""
+"Utilitza el conjunt alternatiu de cursors platejats, en lloc dels normals "
+"daurats"
#: engines/scumm/dialogs.cpp:175
#, c-format
@@ -1493,24 +1492,23 @@ msgstr "Veus i sub."
#: engines/scumm/dialogs.cpp:653
msgid "Select a Proficiency Level."
-msgstr ""
+msgstr "Seleccioneu el nivell de competència."
#: engines/scumm/dialogs.cpp:655
msgid "Refer to your Loom(TM) manual for help."
-msgstr ""
+msgstr "Consulteu el manual de Loom(TM) per ajuda."
#: engines/scumm/dialogs.cpp:658
-#, fuzzy
msgid "Standard"
-msgstr "Estàndard (16bpp)"
+msgstr "Estàndard"
#: engines/scumm/dialogs.cpp:659
msgid "Practice"
-msgstr ""
+msgstr "Pràctica"
#: engines/scumm/dialogs.cpp:660
msgid "Expert"
-msgstr ""
+msgstr "Expert"
#: engines/scumm/help.cpp:73
msgid "Common keyboard commands:"
@@ -2103,7 +2101,7 @@ msgstr "~M~enú Principal"
msgid "~W~ater Effect Enabled"
msgstr "~E~fecte de l'aigua activat"
-#: engines/agos/animation.cpp:560
+#: engines/agos/animation.cpp:557
#, c-format
msgid "Cutscene file '%s' not found!"
msgstr "No s'ha trobat el fitxer d'escena '%s'!"
@@ -2129,118 +2127,109 @@ msgstr "No s'ha pogut desar l'estat del joc"
#. Malcolm makes a joke.
#: engines/kyra/detection.cpp:62
msgid "Studio audience"
-msgstr ""
+msgstr "Públic"
#: engines/kyra/detection.cpp:63
msgid "Enable studio audience"
-msgstr ""
+msgstr "Activa el públic"
#. I18N: This option allows the user to skip text and cutscenes.
#: engines/kyra/detection.cpp:73
msgid "Skip support"
-msgstr ""
+msgstr "Suport per saltar text i escenes"
#: engines/kyra/detection.cpp:74
msgid "Allow text and cutscenes to be skipped"
-msgstr ""
+msgstr "Permet que se saltin textos i escenes"
#. I18N: Helium mode makes people sound like they've inhaled Helium.
#: engines/kyra/detection.cpp:84
msgid "Helium mode"
-msgstr ""
+msgstr "Mode heli"
#: engines/kyra/detection.cpp:85
-#, fuzzy
msgid "Enable helium mode"
-msgstr "Activa el Mode Roland GS"
+msgstr "Activa el mode heli"
#. I18N: When enabled, this option makes scrolling smoother when
#. changing from one screen to another.
#: engines/kyra/detection.cpp:99
msgid "Smooth scrolling"
-msgstr ""
+msgstr "Desplaçament suau"
#: engines/kyra/detection.cpp:100
msgid "Enable smooth scrolling when walking"
-msgstr ""
+msgstr "Activa el desplaçament suau al caminar"
#. I18N: When enabled, this option changes the cursor when it floats to the
#. edge of the screen to a directional arrow. The player can then click to
#. walk towards that direction.
#: engines/kyra/detection.cpp:112
-#, fuzzy
msgid "Floating cursors"
-msgstr "Cursor normal"
+msgstr "Cursor flotant"
#: engines/kyra/detection.cpp:113
msgid "Enable floating cursors"
-msgstr ""
+msgstr "Activa els cursors flotants"
#. I18N: HP stands for Hit Points
#: engines/kyra/detection.cpp:127
msgid "HP bar graphs"
-msgstr ""
+msgstr "Barra gràfica de PI"
#: engines/kyra/detection.cpp:128
msgid "Enable hit point bar graphs"
-msgstr ""
+msgstr "Activa la barra gràfica dels punts d'impacte"
#: engines/kyra/lol.cpp:478
msgid "Attack 1"
-msgstr ""
+msgstr "Atac 1"
#: engines/kyra/lol.cpp:479
msgid "Attack 2"
-msgstr ""
+msgstr "Atac 2"
#: engines/kyra/lol.cpp:480
msgid "Attack 3"
-msgstr ""
+msgstr "Atac 3"
#: engines/kyra/lol.cpp:481
msgid "Move Forward"
-msgstr ""
+msgstr "Mou endavant"
#: engines/kyra/lol.cpp:482
msgid "Move Back"
-msgstr ""
+msgstr "Mou enrere"
#: engines/kyra/lol.cpp:483
msgid "Slide Left"
-msgstr ""
+msgstr "Mou a l'esquerra"
#: engines/kyra/lol.cpp:484
-#, fuzzy
msgid "Slide Right"
-msgstr "Dreta"
+msgstr "Mou a la dreta"
#: engines/kyra/lol.cpp:485
-#, fuzzy
msgid "Turn Left"
-msgstr "Apaga"
+msgstr "Gira a l'esquerra"
#: engines/kyra/lol.cpp:486
-#, fuzzy
msgid "Turn Right"
-msgstr "Cursor Dreta"
+msgstr "Gira a la dreta"
#: engines/kyra/lol.cpp:487
-#, fuzzy
msgid "Rest"
-msgstr "Restaura"
+msgstr "Descansa"
#: engines/kyra/lol.cpp:488
-#, fuzzy
msgid "Options"
-msgstr "~O~pcions"
+msgstr "Opcions"
#: engines/kyra/lol.cpp:489
-#, fuzzy
msgid "Choose Spell"
-msgstr "Escull"
+msgstr "Escull l'encanteri"
#: engines/kyra/sound_midi.cpp:475
-#, fuzzy
msgid ""
"You appear to be using a General MIDI device,\n"
"but your game only supports Roland MT32 MIDI.\n"
@@ -2256,11 +2245,11 @@ msgstr ""
#: engines/queen/queen.cpp:59
msgid "Alternative intro"
-msgstr ""
+msgstr "Introducció alternativa"
#: engines/queen/queen.cpp:60
msgid "Use an alternative game intro (CD version only)"
-msgstr ""
+msgstr "Utilitza una introducció del joc alternativa (només per la versió CD)"
#: engines/sky/compact.cpp:130
msgid ""
@@ -2280,28 +2269,29 @@ msgstr ""
#: engines/sky/detection.cpp:44
msgid "Floppy intro"
-msgstr ""
+msgstr "Introducció de disquets"
#: engines/sky/detection.cpp:45
msgid "Use the floppy version's intro (CD version only)"
msgstr ""
+"Utilitza la introducció de la versió de disquets (només per a la versió CD)"
-#: engines/sword1/animation.cpp:539
+#: engines/sword1/animation.cpp:519
#, c-format
msgid "PSX stream cutscene '%s' cannot be played in paletted mode"
-msgstr ""
+msgstr "L'escena '%s' de PSX no es pot reproduir en mode paleta"
-#: engines/sword1/animation.cpp:560 engines/sword2/animation.cpp:455
+#: engines/sword1/animation.cpp:540 engines/sword2/animation.cpp:439
msgid "DXA cutscenes found but ScummVM has been built without zlib support"
msgstr ""
"S'han trobat escenes en DXA, però s'ha compilat el ScummVM sense suport de "
"zlib"
-#: engines/sword1/animation.cpp:570 engines/sword2/animation.cpp:465
+#: engines/sword1/animation.cpp:550 engines/sword2/animation.cpp:449
msgid "MPEG2 cutscenes are no longer supported"
msgstr "Les escenes MPEG2 ja no estan suportades"
-#: engines/sword1/animation.cpp:576 engines/sword2/animation.cpp:473
+#: engines/sword1/animation.cpp:556 engines/sword2/animation.cpp:457
#, c-format
msgid "Cutscene '%s' not found"
msgstr "No s'ha trobat l'escena '%s'"
@@ -2345,32 +2335,33 @@ msgstr "Mantingues el nou"
msgid "This is the end of the Broken Sword 1 Demo"
msgstr "Aquest és el final de la Demo del Broken Sword 1"
-#: engines/sword2/animation.cpp:435
-#, fuzzy
+#: engines/sword2/animation.cpp:419
msgid ""
"PSX cutscenes found but ScummVM has been built without RGB color support"
msgstr ""
-"S'han trobat escenes en DXA, però s'ha compilat el ScummVM sense suport de "
-"zlib"
+"S'han trobat escenes de PSX, però s'ha compilat el ScummVM sense suport de "
+"color RGB"
#: engines/sword2/sword2.cpp:79
msgid "Show object labels"
-msgstr ""
+msgstr "Mostra les etiquetes dels objectes"
#: engines/sword2/sword2.cpp:80
msgid "Show labels for objects on mouse hover"
-msgstr ""
+msgstr "Mostra etiquetes al posar el ratolí sobre els objectes"
#: engines/teenagent/resources.cpp:68
msgid ""
"You're missing the 'teenagent.dat' file. Get it from the ScummVM website"
-msgstr ""
+msgstr "Us falta el fitxer 'teenagent.dat'. Obteniu-lo a la pàgina de ScummVM"
#: engines/teenagent/resources.cpp:89
msgid ""
"The teenagent.dat file is compressed and zlib hasn't been included in this "
"executable. Please decompress it"
msgstr ""
+"El fitxer teenagent.dat està comprimit però aquest executable no conté zlib. "
+"Descomprimiu-lo, si us plau."
#: engines/parallaction/saveload.cpp:133
#, c-format
@@ -2512,9 +2503,8 @@ msgid "Keymap:"
msgstr "Assignacions de teclat:"
#: backends/keymapper/remap-dialog.cpp:66
-#, fuzzy
msgid " (Effective)"
-msgstr " (Actiu)"
+msgstr " (Efectiu)"
#: backends/keymapper/remap-dialog.cpp:106
msgid " (Active)"
@@ -2522,7 +2512,7 @@ msgstr " (Actiu)"
#: backends/keymapper/remap-dialog.cpp:106
msgid " (Blocked)"
-msgstr ""
+msgstr " (Bloquejat)"
#: backends/keymapper/remap-dialog.cpp:119
msgid " (Global)"
@@ -2626,7 +2616,7 @@ msgstr "Mode Touchpad desactivat."
#: backends/platform/maemo/maemo.cpp:209
msgid "Click Mode"
-msgstr ""
+msgstr "Mode clic"
#: backends/platform/maemo/maemo.cpp:215
#: backends/platform/symbian/src/SymbianActions.cpp:42
@@ -2637,9 +2627,8 @@ msgid "Left Click"
msgstr "Clic esquerre"
#: backends/platform/maemo/maemo.cpp:218
-#, fuzzy
msgid "Middle Click"
-msgstr "Element mig esquerre"
+msgstr "Clic central"
#: backends/platform/maemo/maemo.cpp:221
#: backends/platform/symbian/src/SymbianActions.cpp:43
@@ -3114,20 +3103,3 @@ msgstr "Clicat activat"
#: backends/events/maemosdl/maemosdl-events.cpp:192
msgid "Clicking Disabled"
msgstr "Clicat desactivat"
-
-#~ msgid "Hercules Green"
-#~ msgstr "Hercules Verd"
-
-#~ msgid "Hercules Amber"
-#~ msgstr "Hercules Àmbar"
-
-#~ msgctxt "lowres"
-#~ msgid "Hercules Green"
-#~ msgstr "Hercules Verd"
-
-#~ msgctxt "lowres"
-#~ msgid "Hercules Amber"
-#~ msgstr "Hercules Àmbar"
-
-#~ msgid "Save game failed!"
-#~ msgstr "No s'ha pogut desar la partida!"
diff --git a/po/gl_ES.po b/po/gl_ES.po
new file mode 100644
index 0000000000..d08867b717
--- /dev/null
+++ b/po/gl_ES.po
@@ -0,0 +1,3092 @@
+# LANGUAGE translation for ScummVM.
+# Copyright (C) YEAR ScummVM Team
+# This file is distributed under the same license as the ScummVM package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: ScummVM 1.6.0git\n"
+"Report-Msgid-Bugs-To: scummvm-devel@lists.sf.net\n"
+"POT-Creation-Date: 2012-08-12 14:57+0200\n"
+"PO-Revision-Date: 2012-08-15 13:33+0100\n"
+"Last-Translator: Santiago G. Sanz <s.sanz@uvigo.es>\n"
+"Language-Team: \n"
+"Language: Galego\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: gui/about.cpp:91
+#, c-format
+msgid "(built on %s)"
+msgstr "(compilado o %s)"
+
+#: gui/about.cpp:98
+msgid "Features compiled in:"
+msgstr "Funcionalidades compiladas:"
+
+#: gui/about.cpp:107
+msgid "Available engines:"
+msgstr "Motores dispoñibles:"
+
+#: gui/browser.cpp:66
+msgid "Go up"
+msgstr "Arriba"
+
+#: gui/browser.cpp:66 gui/browser.cpp:68
+msgid "Go to previous directory level"
+msgstr "Ir ao directorio superior"
+
+#: gui/browser.cpp:68
+msgctxt "lowres"
+msgid "Go up"
+msgstr "Arriba"
+
+#: gui/browser.cpp:69 gui/chooser.cpp:45 gui/KeysDialog.cpp:43
+#: gui/launcher.cpp:345 gui/massadd.cpp:94 gui/options.cpp:1228
+#: gui/saveload-dialog.cpp:207 gui/saveload-dialog.cpp:267
+#: gui/saveload-dialog.cpp:516 gui/saveload-dialog.cpp:843
+#: gui/themebrowser.cpp:54 engines/engine.cpp:442
+#: engines/scumm/dialogs.cpp:190 engines/sword1/control.cpp:865
+#: engines/parallaction/saveload.cpp:274 backends/platform/wii/options.cpp:48
+#: backends/events/default/default-events.cpp:191
+#: backends/events/default/default-events.cpp:213
+msgid "Cancel"
+msgstr "Cancelar"
+
+#: gui/browser.cpp:70 gui/chooser.cpp:46 gui/themebrowser.cpp:55
+msgid "Choose"
+msgstr "Elexir"
+
+#: gui/gui-manager.cpp:115 engines/scumm/help.cpp:125
+#: engines/scumm/help.cpp:140 engines/scumm/help.cpp:165
+#: engines/scumm/help.cpp:191 engines/scumm/help.cpp:209
+#: backends/keymapper/remap-dialog.cpp:52
+msgid "Close"
+msgstr "Pechar"
+
+#: gui/gui-manager.cpp:118
+msgid "Mouse click"
+msgstr "Premer co rato"
+
+#: gui/gui-manager.cpp:122 base/main.cpp:300
+msgid "Display keyboard"
+msgstr "Mostrar teclado"
+
+#: gui/gui-manager.cpp:126 base/main.cpp:304
+msgid "Remap keys"
+msgstr "Asignar teclas"
+
+#: gui/gui-manager.cpp:129 base/main.cpp:307
+msgid "Toggle FullScreen"
+msgstr "Activar/desactivar pantalla completa"
+
+#: gui/KeysDialog.h:36 gui/KeysDialog.cpp:145
+msgid "Choose an action to map"
+msgstr "Elixe unha acción para asignala"
+
+#: gui/KeysDialog.cpp:41
+msgid "Map"
+msgstr "Asignar"
+
+#: gui/KeysDialog.cpp:42 gui/launcher.cpp:346 gui/launcher.cpp:1001
+#: gui/launcher.cpp:1005 gui/massadd.cpp:91 gui/options.cpp:1229
+#: gui/saveload-dialog.cpp:844 engines/engine.cpp:361 engines/engine.cpp:372
+#: engines/scumm/dialogs.cpp:192 engines/scumm/scumm.cpp:1775
+#: engines/agos/animation.cpp:561 engines/groovie/script.cpp:420
+#: engines/sky/compact.cpp:131 engines/sky/compact.cpp:141
+#: engines/sword1/animation.cpp:539 engines/sword1/animation.cpp:560
+#: engines/sword1/animation.cpp:570 engines/sword1/animation.cpp:577
+#: engines/sword1/control.cpp:865 engines/sword1/logic.cpp:1633
+#: engines/sword2/animation.cpp:435 engines/sword2/animation.cpp:455
+#: engines/sword2/animation.cpp:465 engines/sword2/animation.cpp:474
+#: engines/parallaction/saveload.cpp:274 backends/platform/wii/options.cpp:47
+#: backends/platform/wince/CELauncherDialog.cpp:54
+msgid "OK"
+msgstr "Aceptar"
+
+#: gui/KeysDialog.cpp:49
+msgid "Select an action and click 'Map'"
+msgstr "Selecciona unha acción e preme en Asignar"
+
+#: gui/KeysDialog.cpp:80 gui/KeysDialog.cpp:102 gui/KeysDialog.cpp:141
+#, c-format
+msgid "Associated key : %s"
+msgstr "Tecla asociada: %s"
+
+#: gui/KeysDialog.cpp:82 gui/KeysDialog.cpp:104 gui/KeysDialog.cpp:143
+#, c-format
+msgid "Associated key : none"
+msgstr "Tecla asociada: ningunha"
+
+#: gui/KeysDialog.cpp:90
+msgid "Please select an action"
+msgstr "Selecciona unha acción"
+
+#: gui/KeysDialog.cpp:106
+msgid "Press the key to associate"
+msgstr "Preme a tecla para asociala"
+
+#: gui/launcher.cpp:187
+msgid "Game"
+msgstr "Xogo"
+
+#: gui/launcher.cpp:191
+msgid "ID:"
+msgstr "ID:"
+
+#: gui/launcher.cpp:191 gui/launcher.cpp:193 gui/launcher.cpp:194
+msgid ""
+"Short game identifier used for referring to savegames and running the game "
+"from the command line"
+msgstr ""
+"Identificador curto do xogo para os ficheiros de gardado e a execución do "
+"xogo dende a liña de comandos"
+
+#: gui/launcher.cpp:193
+msgctxt "lowres"
+msgid "ID:"
+msgstr "ID:"
+
+#: gui/launcher.cpp:198
+msgid "Name:"
+msgstr "Nome:"
+
+#: gui/launcher.cpp:198 gui/launcher.cpp:200 gui/launcher.cpp:201
+msgid "Full title of the game"
+msgstr "Título completo do xogo"
+
+#: gui/launcher.cpp:200
+msgctxt "lowres"
+msgid "Name:"
+msgstr "Nome:"
+
+#: gui/launcher.cpp:204
+msgid "Language:"
+msgstr "Idioma:"
+
+#: gui/launcher.cpp:204 gui/launcher.cpp:205
+msgid ""
+"Language of the game. This will not turn your Spanish game version into "
+"English"
+msgstr "Idioma do xogo. Non converterá a versión galega do xogo en inglesa"
+
+#: gui/launcher.cpp:206 gui/launcher.cpp:220 gui/options.cpp:80
+#: gui/options.cpp:730 gui/options.cpp:743 gui/options.cpp:1199
+#: audio/null.cpp:40
+msgid "<default>"
+msgstr "<por defecto>"
+
+#: gui/launcher.cpp:216
+msgid "Platform:"
+msgstr "Plataforma:"
+
+#: gui/launcher.cpp:216 gui/launcher.cpp:218 gui/launcher.cpp:219
+msgid "Platform the game was originally designed for"
+msgstr "Plataforma para a que se desenvolvera o xogo inicialmente"
+
+#: gui/launcher.cpp:218
+msgctxt "lowres"
+msgid "Platform:"
+msgstr "Plataforma:"
+
+#: gui/launcher.cpp:231
+msgid "Engine"
+msgstr "Motor"
+
+#: gui/launcher.cpp:239 gui/options.cpp:1062 gui/options.cpp:1079
+msgid "Graphics"
+msgstr "Gráficos"
+
+#: gui/launcher.cpp:239 gui/options.cpp:1062 gui/options.cpp:1079
+msgid "GFX"
+msgstr "Efectos gráficos"
+
+#: gui/launcher.cpp:242
+msgid "Override global graphic settings"
+msgstr "Anular a configuración dos gráficos"
+
+#: gui/launcher.cpp:244
+msgctxt "lowres"
+msgid "Override global graphic settings"
+msgstr "Anular a configuración dos gráficos"
+
+#: gui/launcher.cpp:251 gui/options.cpp:1085
+msgid "Audio"
+msgstr "Son"
+
+#: gui/launcher.cpp:254
+msgid "Override global audio settings"
+msgstr "Anular a configuración do son"
+
+#: gui/launcher.cpp:256
+msgctxt "lowres"
+msgid "Override global audio settings"
+msgstr "Anular a configuración do son"
+
+#: gui/launcher.cpp:265 gui/options.cpp:1090
+msgid "Volume"
+msgstr "Volume"
+
+#: gui/launcher.cpp:267 gui/options.cpp:1092
+msgctxt "lowres"
+msgid "Volume"
+msgstr "Volume"
+
+#: gui/launcher.cpp:270
+msgid "Override global volume settings"
+msgstr "Anular a configuración do volume"
+
+#: gui/launcher.cpp:272
+msgctxt "lowres"
+msgid "Override global volume settings"
+msgstr "Anular a configuración do volume"
+
+#: gui/launcher.cpp:280 gui/options.cpp:1100
+msgid "MIDI"
+msgstr "MIDI"
+
+#: gui/launcher.cpp:283
+msgid "Override global MIDI settings"
+msgstr "Anular a configuración de MIDI"
+
+#: gui/launcher.cpp:285
+msgctxt "lowres"
+msgid "Override global MIDI settings"
+msgstr "Anular a configuración de MIDI"
+
+#: gui/launcher.cpp:294 gui/options.cpp:1106
+msgid "MT-32"
+msgstr "MT-32"
+
+#: gui/launcher.cpp:297
+msgid "Override global MT-32 settings"
+msgstr "Anular a configuración de MT-32"
+
+#: gui/launcher.cpp:299
+msgctxt "lowres"
+msgid "Override global MT-32 settings"
+msgstr "Anular a configuración de MT-32"
+
+#: gui/launcher.cpp:308 gui/options.cpp:1113
+msgid "Paths"
+msgstr "Camiños"
+
+#: gui/launcher.cpp:310 gui/options.cpp:1115
+msgctxt "lowres"
+msgid "Paths"
+msgstr "Camiños"
+
+#: gui/launcher.cpp:317
+msgid "Game Path:"
+msgstr "Camiño do xogo:"
+
+#: gui/launcher.cpp:319
+msgctxt "lowres"
+msgid "Game Path:"
+msgstr "Camiño do xogo:"
+
+#: gui/launcher.cpp:324 gui/options.cpp:1139
+msgid "Extra Path:"
+msgstr "Camiño adicional:"
+
+#: gui/launcher.cpp:324 gui/launcher.cpp:326 gui/launcher.cpp:327
+msgid "Specifies path to additional data used the game"
+msgstr "Especifica o camiño dos datos adicionais usados no xogo"
+
+#: gui/launcher.cpp:326 gui/options.cpp:1141
+msgctxt "lowres"
+msgid "Extra Path:"
+msgstr "Camiño adicional:"
+
+#: gui/launcher.cpp:333 gui/options.cpp:1123
+msgid "Save Path:"
+msgstr "Camiño de gardado:"
+
+#: gui/launcher.cpp:333 gui/launcher.cpp:335 gui/launcher.cpp:336
+#: gui/options.cpp:1123 gui/options.cpp:1125 gui/options.cpp:1126
+msgid "Specifies where your savegames are put"
+msgstr "Especifica o lugar dos ficheiros de gardado"
+
+#: gui/launcher.cpp:335 gui/options.cpp:1125
+msgctxt "lowres"
+msgid "Save Path:"
+msgstr "Camiño de gardado:"
+
+#: gui/launcher.cpp:354 gui/launcher.cpp:453 gui/launcher.cpp:511
+#: gui/launcher.cpp:565 gui/options.cpp:1134 gui/options.cpp:1142
+#: gui/options.cpp:1151 gui/options.cpp:1258 gui/options.cpp:1264
+#: gui/options.cpp:1272 gui/options.cpp:1302 gui/options.cpp:1308
+#: gui/options.cpp:1315 gui/options.cpp:1408 gui/options.cpp:1411
+#: gui/options.cpp:1423
+msgctxt "path"
+msgid "None"
+msgstr "Ningún"
+
+#: gui/launcher.cpp:359 gui/launcher.cpp:459 gui/launcher.cpp:569
+#: gui/options.cpp:1252 gui/options.cpp:1296 gui/options.cpp:1414
+#: backends/platform/wii/options.cpp:56
+msgid "Default"
+msgstr "Predefinido"
+
+#: gui/launcher.cpp:504 gui/options.cpp:1417
+msgid "Select SoundFont"
+msgstr "Seleccionar SoundFont"
+
+#: gui/launcher.cpp:523 gui/launcher.cpp:677
+msgid "Select directory with game data"
+msgstr "Selecciona un directorio con datos de xogo"
+
+#: gui/launcher.cpp:541
+msgid "Select additional game directory"
+msgstr "Selecciona un directorio con datos adicionais"
+
+#: gui/launcher.cpp:553
+msgid "Select directory for saved games"
+msgstr "Selecciona un directorio para ficheiros de gardado"
+
+#: gui/launcher.cpp:580
+msgid "This game ID is already taken. Please choose another one."
+msgstr "Este ID de xogo xa está en uso. Selecciona outro."
+
+#: gui/launcher.cpp:621 engines/dialogs.cpp:110
+msgid "~Q~uit"
+msgstr "~S~aír"
+
+#: gui/launcher.cpp:621 backends/platform/sdl/macosx/appmenu_osx.mm:96
+msgid "Quit ScummVM"
+msgstr "Saír de ScummVM"
+
+#: gui/launcher.cpp:622
+msgid "A~b~out..."
+msgstr "Ace~r~ca de..."
+
+#: gui/launcher.cpp:622 backends/platform/sdl/macosx/appmenu_osx.mm:70
+msgid "About ScummVM"
+msgstr "Acerca de ScummVM"
+
+#: gui/launcher.cpp:623
+msgid "~O~ptions..."
+msgstr "~O~pcións..."
+
+#: gui/launcher.cpp:623
+msgid "Change global ScummVM options"
+msgstr "Cambiar as opcións de ScummVM"
+
+#: gui/launcher.cpp:625
+msgid "~S~tart"
+msgstr "~I~niciar"
+
+#: gui/launcher.cpp:625
+msgid "Start selected game"
+msgstr "Iniciar o xogo seleccionado"
+
+#: gui/launcher.cpp:628
+msgid "~L~oad..."
+msgstr "~C~argar..."
+
+#: gui/launcher.cpp:628
+msgid "Load savegame for selected game"
+msgstr "Cargar partida do xogo seleccionado"
+
+#: gui/launcher.cpp:633 gui/launcher.cpp:1120
+msgid "~A~dd Game..."
+msgstr "Eng~a~dir xogo..."
+
+#: gui/launcher.cpp:633 gui/launcher.cpp:640
+msgid "Hold Shift for Mass Add"
+msgstr "Manter premido MAIÚS para engadir en masa"
+
+#: gui/launcher.cpp:635
+msgid "~E~dit Game..."
+msgstr "~E~ditar xogo..."
+
+#: gui/launcher.cpp:635 gui/launcher.cpp:642
+msgid "Change game options"
+msgstr "Cambiar as opcións do xogo"
+
+#: gui/launcher.cpp:637
+msgid "~R~emove Game"
+msgstr "Elimina~r~ xogo"
+
+#: gui/launcher.cpp:637 gui/launcher.cpp:644
+msgid "Remove game from the list. The game data files stay intact"
+msgstr "Eliminar o xogo da lista. Os ficheiros de datos non se modifican"
+
+#: gui/launcher.cpp:640 gui/launcher.cpp:1120
+msgctxt "lowres"
+msgid "~A~dd Game..."
+msgstr "Eng~a~dir xogo..."
+
+#: gui/launcher.cpp:642
+msgctxt "lowres"
+msgid "~E~dit Game..."
+msgstr "~E~ditar xogo..."
+
+#: gui/launcher.cpp:644
+msgctxt "lowres"
+msgid "~R~emove Game"
+msgstr "Elimina~r~ xogo"
+
+#: gui/launcher.cpp:652
+msgid "Search in game list"
+msgstr "Buscar na lista de xogos"
+
+#: gui/launcher.cpp:656 gui/launcher.cpp:1167
+msgid "Search:"
+msgstr "Buscar:"
+
+#: gui/launcher.cpp:680 engines/dialogs.cpp:114 engines/mohawk/myst.cpp:245
+#: engines/mohawk/riven.cpp:716 engines/cruise/menu.cpp:214
+msgid "Load game:"
+msgstr "Cargar partida:"
+
+#: gui/launcher.cpp:680 engines/dialogs.cpp:114 engines/scumm/dialogs.cpp:188
+#: engines/mohawk/myst.cpp:245 engines/mohawk/riven.cpp:716
+#: engines/cruise/menu.cpp:214 backends/platform/wince/CEActionsPocket.cpp:267
+#: backends/platform/wince/CEActionsSmartphone.cpp:231
+msgid "Load"
+msgstr "Cargar"
+
+#: gui/launcher.cpp:788
+msgid ""
+"Do you really want to run the mass game detector? This could potentially add "
+"a huge number of games."
+msgstr ""
+"Queres executar o detector de xogos en masa? É posible que se engada un gran "
+"número de xogos."
+
+#: gui/launcher.cpp:789 gui/launcher.cpp:937
+#: backends/events/symbiansdl/symbiansdl-events.cpp:184
+#: backends/platform/wince/CEActionsPocket.cpp:326
+#: backends/platform/wince/CEActionsSmartphone.cpp:287
+#: backends/platform/wince/CELauncherDialog.cpp:83
+msgid "Yes"
+msgstr "Si"
+
+#: gui/launcher.cpp:789 gui/launcher.cpp:937
+#: backends/events/symbiansdl/symbiansdl-events.cpp:184
+#: backends/platform/wince/CEActionsPocket.cpp:326
+#: backends/platform/wince/CEActionsSmartphone.cpp:287
+#: backends/platform/wince/CELauncherDialog.cpp:83
+msgid "No"
+msgstr "Non"
+
+#: gui/launcher.cpp:837
+msgid "ScummVM couldn't open the specified directory!"
+msgstr "ScummVM non foi quen de abrir o directorio!"
+
+#: gui/launcher.cpp:849
+msgid "ScummVM could not find any game in the specified directory!"
+msgstr "ScummVM non foi quen de atopar xogos no directorio!"
+
+#: gui/launcher.cpp:863
+msgid "Pick the game:"
+msgstr "Elixe o xogo:"
+
+#: gui/launcher.cpp:937
+msgid "Do you really want to remove this game configuration?"
+msgstr "Seguro que queres eliminar esta configuración de xogo?"
+
+#: gui/launcher.cpp:1001
+msgid "This game does not support loading games from the launcher."
+msgstr "O xogo non permite cargar partidas dende o iniciador."
+
+#: gui/launcher.cpp:1005
+msgid "ScummVM could not find any engine capable of running the selected game!"
+msgstr "ScummVM non foi quen de atopar un motor para executar o xogo!"
+
+#: gui/launcher.cpp:1119
+msgctxt "lowres"
+msgid "Mass Add..."
+msgstr "Engadir en masa..."
+
+#: gui/launcher.cpp:1119
+msgid "Mass Add..."
+msgstr "Engadir en masa..."
+
+#: gui/massadd.cpp:78 gui/massadd.cpp:81
+msgid "... progress ..."
+msgstr "...progreso..."
+
+#: gui/massadd.cpp:258
+msgid "Scan complete!"
+msgstr "Análise finalizada!"
+
+#: gui/massadd.cpp:261
+#, c-format
+msgid "Discovered %d new games, ignored %d previously added games."
+msgstr "%d xogos novos atopados; %d xogos xa engadidos ignorados."
+
+#: gui/massadd.cpp:265
+#, c-format
+msgid "Scanned %d directories ..."
+msgstr "%d directorios analizados..."
+
+#: gui/massadd.cpp:268
+#, c-format
+msgid "Discovered %d new games, ignored %d previously added games ..."
+msgstr "%d xogos novos atopados; %d xogos xa engadidos ignorados..."
+
+#: gui/options.cpp:78
+msgid "Never"
+msgstr "Nunca"
+
+#: gui/options.cpp:78
+msgid "every 5 mins"
+msgstr "cada 5 min"
+
+#: gui/options.cpp:78
+msgid "every 10 mins"
+msgstr "cada 10 min"
+
+#: gui/options.cpp:78
+msgid "every 15 mins"
+msgstr "cada 15 min"
+
+#: gui/options.cpp:78
+msgid "every 30 mins"
+msgstr "cada 30 min"
+
+#: gui/options.cpp:80
+msgid "8 kHz"
+msgstr "8 kHz"
+
+#: gui/options.cpp:80
+msgid "11kHz"
+msgstr "11 kHz"
+
+#: gui/options.cpp:80
+msgid "22 kHz"
+msgstr "22 kHz"
+
+#: gui/options.cpp:80
+msgid "44 kHz"
+msgstr "44 kHz"
+
+#: gui/options.cpp:80
+msgid "48 kHz"
+msgstr "48 kHz"
+
+#: gui/options.cpp:248 gui/options.cpp:474 gui/options.cpp:575
+#: gui/options.cpp:644 gui/options.cpp:852
+msgctxt "soundfont"
+msgid "None"
+msgstr "Ningunha"
+
+#: gui/options.cpp:382
+msgid "Failed to apply some of the graphic options changes:"
+msgstr "Erro ao aplicar os cambios na configuración dos gráficos:"
+
+#: gui/options.cpp:394
+msgid "the video mode could not be changed."
+msgstr "non se puido cambiar o modo de vídeo."
+
+#: gui/options.cpp:400
+msgid "the fullscreen setting could not be changed"
+msgstr "non se puido cambiar a configuración de pantalla completa."
+
+#: gui/options.cpp:406
+msgid "the aspect ratio setting could not be changed"
+msgstr "non se puido cambiar a proporción."
+
+#: gui/options.cpp:727
+msgid "Graphics mode:"
+msgstr "Modo de gráficos:"
+
+#: gui/options.cpp:741
+msgid "Render mode:"
+msgstr "Modo de procesamento:"
+
+#: gui/options.cpp:741 gui/options.cpp:742
+msgid "Special dithering modes supported by some games"
+msgstr "Modos de interpolación de cores compatibles con algúns xogos"
+
+#: gui/options.cpp:753
+#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2236
+#: backends/graphics/openglsdl/openglsdl-graphics.cpp:472
+msgid "Fullscreen mode"
+msgstr "Pantalla completa"
+
+#: gui/options.cpp:756
+msgid "Aspect ratio correction"
+msgstr "Corrección de proporción"
+
+#: gui/options.cpp:756
+msgid "Correct aspect ratio for 320x200 games"
+msgstr "Corrixir a proporción para os xogos en 320x200"
+
+#: gui/options.cpp:764
+msgid "Preferred Device:"
+msgstr "Dispositivo preferido:"
+
+#: gui/options.cpp:764
+msgid "Music Device:"
+msgstr "Dispositivo de música:"
+
+#: gui/options.cpp:764 gui/options.cpp:766
+msgid "Specifies preferred sound device or sound card emulator"
+msgstr "Especifica o dispositivo ou emulador de tarxeta de son preferido"
+
+#: gui/options.cpp:764 gui/options.cpp:766 gui/options.cpp:767
+msgid "Specifies output sound device or sound card emulator"
+msgstr "Especifica o dispositivo ou emulador de tarxeta de son de saída"
+
+#: gui/options.cpp:766
+msgctxt "lowres"
+msgid "Preferred Dev.:"
+msgstr "Disp. preferido:"
+
+#: gui/options.cpp:766
+msgctxt "lowres"
+msgid "Music Device:"
+msgstr "Disp. música:"
+
+#: gui/options.cpp:793
+msgid "AdLib emulator:"
+msgstr "Emulador de AdLib:"
+
+#: gui/options.cpp:793 gui/options.cpp:794
+msgid "AdLib is used for music in many games"
+msgstr "Moitos xogos empregan AdLib para a música"
+
+#: gui/options.cpp:804
+msgid "Output rate:"
+msgstr "Taxa de saída:"
+
+#: gui/options.cpp:804 gui/options.cpp:805
+msgid ""
+"Higher value specifies better sound quality but may be not supported by your "
+"soundcard"
+msgstr ""
+"A maior valor, maior calidade do son, mais talvez non sexa compatible coa "
+"tarxeta"
+
+#: gui/options.cpp:815
+msgid "GM Device:"
+msgstr "Dispositivo de GM:"
+
+#: gui/options.cpp:815
+msgid "Specifies default sound device for General MIDI output"
+msgstr ""
+"Especifica o dispositivo de son por defecto para a saída de General MIDI"
+
+#: gui/options.cpp:826
+msgid "Don't use General MIDI music"
+msgstr "Non empregar música en General MIDI"
+
+#: gui/options.cpp:837 gui/options.cpp:899
+msgid "Use first available device"
+msgstr "Empregar o primeiro dispositivo dispoñible"
+
+#: gui/options.cpp:849
+msgid "SoundFont:"
+msgstr "SoundFont:"
+
+#: gui/options.cpp:849 gui/options.cpp:851 gui/options.cpp:852
+msgid "SoundFont is supported by some audio cards, Fluidsynth and Timidity"
+msgstr ""
+"SoundFont é compatible con algunhas tarxetas de son, Fluidsynth e Timidity"
+
+#: gui/options.cpp:851
+msgctxt "lowres"
+msgid "SoundFont:"
+msgstr "SoundFont:"
+
+#: gui/options.cpp:857
+msgid "Mixed AdLib/MIDI mode"
+msgstr "Modo AdLib/MIDI mixto"
+
+#: gui/options.cpp:857
+msgid "Use both MIDI and AdLib sound generation"
+msgstr "Empregar xeración de son MIDI e máis AdLib"
+
+#: gui/options.cpp:860
+msgid "MIDI gain:"
+msgstr "Ganancia de MIDI:"
+
+#: gui/options.cpp:870
+msgid "MT-32 Device:"
+msgstr "Dispositivo de MT-32:"
+
+#: gui/options.cpp:870
+msgid "Specifies default sound device for Roland MT-32/LAPC1/CM32l/CM64 output"
+msgstr ""
+"Especifica o dispositivo por defecto para a saída de Roland MT-32/LAPC1/"
+"CM32l/CM64"
+
+#: gui/options.cpp:875
+msgid "True Roland MT-32 (disable GM emulation)"
+msgstr "Roland MT-32 verdadeiro (sen emulación de GM)"
+
+#: gui/options.cpp:875 gui/options.cpp:877
+msgid ""
+"Check if you want to use your real hardware Roland-compatible sound device "
+"connected to your computer"
+msgstr ""
+"Marcar para empregar o hardware compatible con Roland conectado ao sistema"
+
+#: gui/options.cpp:877
+msgctxt "lowres"
+msgid "True Roland MT-32 (no GM emulation)"
+msgstr "Roland MT-32 (sen emulación de GM)"
+
+#: gui/options.cpp:880
+msgid "Enable Roland GS Mode"
+msgstr "Activar modo Roland GS"
+
+#: gui/options.cpp:880
+msgid "Turns off General MIDI mapping for games with Roland MT-32 soundtrack"
+msgstr "Desactiva o General MIDI para os xogos con música en Roland MT-32"
+
+#: gui/options.cpp:889
+msgid "Don't use Roland MT-32 music"
+msgstr "Non empregar música en Roland MT-32"
+
+#: gui/options.cpp:916
+msgid "Text and Speech:"
+msgstr "Texto e voz:"
+
+#: gui/options.cpp:920 gui/options.cpp:930
+msgid "Speech"
+msgstr "Voz"
+
+#: gui/options.cpp:921 gui/options.cpp:931
+msgid "Subtitles"
+msgstr "Subtítulos"
+
+#: gui/options.cpp:922
+msgid "Both"
+msgstr "Ambos"
+
+#: gui/options.cpp:924
+msgid "Subtitle speed:"
+msgstr "Velocidade dos subtítulos:"
+
+#: gui/options.cpp:926
+msgctxt "lowres"
+msgid "Text and Speech:"
+msgstr "Texto e voz:"
+
+#: gui/options.cpp:930
+msgid "Spch"
+msgstr "Voz"
+
+#: gui/options.cpp:931
+msgid "Subs"
+msgstr "Subs"
+
+#: gui/options.cpp:932
+msgctxt "lowres"
+msgid "Both"
+msgstr "Ambos"
+
+#: gui/options.cpp:932
+msgid "Show subtitles and play speech"
+msgstr "Mostrar os subtítulos e reproducir as voces"
+
+#: gui/options.cpp:934
+msgctxt "lowres"
+msgid "Subtitle speed:"
+msgstr "Velocidade subs:"
+
+#: gui/options.cpp:950
+msgid "Music volume:"
+msgstr "Volume de música:"
+
+#: gui/options.cpp:952
+msgctxt "lowres"
+msgid "Music volume:"
+msgstr "Volume música:"
+
+#: gui/options.cpp:959
+msgid "Mute All"
+msgstr "Silenciar todo"
+
+#: gui/options.cpp:962
+msgid "SFX volume:"
+msgstr "Volume de efectos:"
+
+#: gui/options.cpp:962 gui/options.cpp:964 gui/options.cpp:965
+msgid "Special sound effects volume"
+msgstr "Volume dos efectos de son"
+
+#: gui/options.cpp:964
+msgctxt "lowres"
+msgid "SFX volume:"
+msgstr "Volume efectos:"
+
+#: gui/options.cpp:972
+msgid "Speech volume:"
+msgstr "Volume de voz:"
+
+#: gui/options.cpp:974
+msgctxt "lowres"
+msgid "Speech volume:"
+msgstr "Volume voz:"
+
+#: gui/options.cpp:1131
+msgid "Theme Path:"
+msgstr "Camiño do tema:"
+
+#: gui/options.cpp:1133
+msgctxt "lowres"
+msgid "Theme Path:"
+msgstr "Camiño tema:"
+
+#: gui/options.cpp:1139 gui/options.cpp:1141 gui/options.cpp:1142
+msgid "Specifies path to additional data used by all games or ScummVM"
+msgstr ""
+"Especificar o camiño dos datos adicionais de todos os xogos ou de ScummVM"
+
+#: gui/options.cpp:1148
+msgid "Plugins Path:"
+msgstr "Camiño dos complementos:"
+
+#: gui/options.cpp:1150
+msgctxt "lowres"
+msgid "Plugins Path:"
+msgstr "Camiño complementos:"
+
+#: gui/options.cpp:1159
+msgid "Misc"
+msgstr "Misc."
+
+#: gui/options.cpp:1161
+msgctxt "lowres"
+msgid "Misc"
+msgstr "Misc."
+
+#: gui/options.cpp:1163
+msgid "Theme:"
+msgstr "Tema:"
+
+#: gui/options.cpp:1167
+msgid "GUI Renderer:"
+msgstr "Procesamento da interfaz:"
+
+#: gui/options.cpp:1179
+msgid "Autosave:"
+msgstr "Autogardado:"
+
+#: gui/options.cpp:1181
+msgctxt "lowres"
+msgid "Autosave:"
+msgstr "Autogardado:"
+
+#: gui/options.cpp:1189
+msgid "Keys"
+msgstr "Teclas"
+
+#: gui/options.cpp:1196
+msgid "GUI Language:"
+msgstr "Idioma de interfaz:"
+
+#: gui/options.cpp:1196
+msgid "Language of ScummVM GUI"
+msgstr "Idioma da interfaz de ScummVM"
+
+#: gui/options.cpp:1347
+msgid "You have to restart ScummVM before your changes will take effect."
+msgstr "Debes reiniciar ScummVM para que os cambios teñan efecto."
+
+#: gui/options.cpp:1360
+msgid "Select directory for savegames"
+msgstr "Seleccionar directorio para ficheiros de gardado"
+
+#: gui/options.cpp:1367
+msgid "The chosen directory cannot be written to. Please select another one."
+msgstr "Non é posible escribir no directorio elixido. Selecciona outro."
+
+#: gui/options.cpp:1376
+msgid "Select directory for GUI themes"
+msgstr "Seleccionar directorio para temas de interfaz"
+
+#: gui/options.cpp:1386
+msgid "Select directory for extra files"
+msgstr "Seleccionar directorio para ficheiros adicionais"
+
+#: gui/options.cpp:1397
+msgid "Select directory for plugins"
+msgstr "Seleccionar directorio para complementos"
+
+#: gui/options.cpp:1450
+msgid ""
+"The theme you selected does not support your current language. If you want "
+"to use this theme you need to switch to another language first."
+msgstr ""
+"O tema seleccionado non é compatible co idioma actual. Para empregar o tema, "
+"deberás cambiar antes o idioma da interfaz."
+
+#: gui/saveload-dialog.cpp:158
+msgid "List view"
+msgstr "Lista"
+
+#: gui/saveload-dialog.cpp:159
+msgid "Grid view"
+msgstr "Grade"
+
+#: gui/saveload-dialog.cpp:202 gui/saveload-dialog.cpp:350
+msgid "No date saved"
+msgstr "Non hai data gardada"
+
+#: gui/saveload-dialog.cpp:203 gui/saveload-dialog.cpp:351
+msgid "No time saved"
+msgstr "Non hai hora gardada"
+
+#: gui/saveload-dialog.cpp:204 gui/saveload-dialog.cpp:352
+msgid "No playtime saved"
+msgstr "Non hai tempo de xogo gardado"
+
+#: gui/saveload-dialog.cpp:211 gui/saveload-dialog.cpp:267
+msgid "Delete"
+msgstr "Eliminar"
+
+#: gui/saveload-dialog.cpp:266
+msgid "Do you really want to delete this savegame?"
+msgstr "Seguro que queres eliminar esta partida?"
+
+#: gui/saveload-dialog.cpp:375 gui/saveload-dialog.cpp:796
+msgid "Date: "
+msgstr "Data:"
+
+#: gui/saveload-dialog.cpp:379 gui/saveload-dialog.cpp:802
+msgid "Time: "
+msgstr "Hora:"
+
+#: gui/saveload-dialog.cpp:385 gui/saveload-dialog.cpp:810
+msgid "Playtime: "
+msgstr "Tempo de xogo:"
+
+#: gui/saveload-dialog.cpp:398 gui/saveload-dialog.cpp:465
+msgid "Untitled savestate"
+msgstr "Partida sen título"
+
+#: gui/saveload-dialog.cpp:517
+msgid "Next"
+msgstr "Seg."
+
+#: gui/saveload-dialog.cpp:520
+msgid "Prev"
+msgstr "Ant."
+
+#: gui/saveload-dialog.cpp:684
+msgid "New Save"
+msgstr "Novo ficheiro"
+
+#: gui/saveload-dialog.cpp:684
+msgid "Create a new save game"
+msgstr "Crea un novo ficheiro de gardado"
+
+#: gui/saveload-dialog.cpp:789
+msgid "Name: "
+msgstr "Nome:"
+
+#: gui/saveload-dialog.cpp:861
+#, c-format
+msgid "Enter a description for slot %d:"
+msgstr "Introduce unha descrición para o espazo %d:"
+
+#: gui/themebrowser.cpp:44
+msgid "Select a Theme"
+msgstr "Seleccionar tema"
+
+#: gui/ThemeEngine.cpp:337
+msgid "Disabled GFX"
+msgstr "Efectos gráficos desactivados"
+
+#: gui/ThemeEngine.cpp:337
+msgctxt "lowres"
+msgid "Disabled GFX"
+msgstr "Efectos desactivados"
+
+#: gui/ThemeEngine.cpp:338
+msgid "Standard Renderer (16bpp)"
+msgstr "Procesamento estándar (16 bpp)"
+
+#: gui/ThemeEngine.cpp:338
+msgid "Standard (16bpp)"
+msgstr "Estándar (16 bpp)"
+
+#: gui/ThemeEngine.cpp:340
+msgid "Antialiased Renderer (16bpp)"
+msgstr "Procesamento antidistorsión (16 bpp)"
+
+#: gui/ThemeEngine.cpp:340
+msgid "Antialiased (16bpp)"
+msgstr "Antidistorsión (16 bpp)"
+
+#: gui/widget.cpp:322 gui/widget.cpp:324 gui/widget.cpp:330 gui/widget.cpp:332
+msgid "Clear value"
+msgstr "Limpar valor"
+
+#: base/main.cpp:209
+#, c-format
+msgid "Engine does not support debug level '%s'"
+msgstr "O motor non é compatible co nivel de depuración %s"
+
+#: base/main.cpp:287
+msgid "Menu"
+msgstr "Menú"
+
+#: base/main.cpp:290 backends/platform/symbian/src/SymbianActions.cpp:45
+#: backends/platform/wince/CEActionsPocket.cpp:45
+#: backends/platform/wince/CEActionsSmartphone.cpp:46
+msgid "Skip"
+msgstr "Omitir"
+
+#: base/main.cpp:293 backends/platform/symbian/src/SymbianActions.cpp:50
+#: backends/platform/wince/CEActionsPocket.cpp:42
+msgid "Pause"
+msgstr "Pausa"
+
+#: base/main.cpp:296
+msgid "Skip line"
+msgstr "Omitir liña"
+
+#: base/main.cpp:467
+msgid "Error running game:"
+msgstr "Erro de execución do xogo:"
+
+#: base/main.cpp:491
+msgid "Could not find any engine capable of running the selected game"
+msgstr "Non se puido atopar un motor para executar o xogo seleccionado"
+
+#: common/error.cpp:38
+msgid "No error"
+msgstr "Non hai erros"
+
+#: common/error.cpp:40
+msgid "Game data not found"
+msgstr "Non se atoparon datos de xogo"
+
+#: common/error.cpp:42
+msgid "Game id not supported"
+msgstr "ID de xogo non compatible"
+
+#: common/error.cpp:44
+msgid "Unsupported color mode"
+msgstr "Modo de color non compatible"
+
+#: common/error.cpp:47
+msgid "Read permission denied"
+msgstr "Permiso de lectura denegado"
+
+#: common/error.cpp:49
+msgid "Write permission denied"
+msgstr "Permiso de escritura denegado"
+
+#: common/error.cpp:52
+msgid "Path does not exist"
+msgstr "O camiño non existe"
+
+#: common/error.cpp:54
+msgid "Path not a directory"
+msgstr "O camiño non é un directorio"
+
+#: common/error.cpp:56
+msgid "Path not a file"
+msgstr "O camiño non é un ficheiro"
+
+#: common/error.cpp:59
+msgid "Cannot create file"
+msgstr "Erro ao crear o ficheiro"
+
+#: common/error.cpp:61
+msgid "Reading data failed"
+msgstr "Erro ao ler os datos"
+
+#: common/error.cpp:63
+msgid "Writing data failed"
+msgstr "Erro ao escribir os datos"
+
+#: common/error.cpp:66
+msgid "Could not find suitable engine plugin"
+msgstr "Non se atopou un complemento axeitado para o motor"
+
+#: common/error.cpp:68
+msgid "Engine plugin does not support save states"
+msgstr "O complemento do motor non é compatible cos ficheiros de gardado"
+
+#: common/error.cpp:71
+msgid "User canceled"
+msgstr "Usuario cancelado"
+
+#: common/error.cpp:75
+msgid "Unknown error"
+msgstr "Erro descoñecido"
+
+#: engines/advancedDetector.cpp:316
+#, c-format
+msgid "The game in '%s' seems to be unknown."
+msgstr "O xogo de %s semella ser descoñecido."
+
+#: engines/advancedDetector.cpp:317
+msgid "Please, report the following data to the ScummVM team along with name"
+msgstr "Facilita esta información ao equipo de ScummVM, xunto co nome"
+
+#: engines/advancedDetector.cpp:319
+msgid "of the game you tried to add and its version/language/etc.:"
+msgstr "do xogo que tentaches engadir, xunto coa versión, lingua, etc.:"
+
+#: engines/dialogs.cpp:84
+msgid "~R~esume"
+msgstr "~R~etomar"
+
+#: engines/dialogs.cpp:86
+msgid "~L~oad"
+msgstr "~C~argar"
+
+#: engines/dialogs.cpp:90
+msgid "~S~ave"
+msgstr "~G~ardar"
+
+#: engines/dialogs.cpp:94
+msgid "~O~ptions"
+msgstr "~O~pcións"
+
+#: engines/dialogs.cpp:99
+msgid "~H~elp"
+msgstr "~A~xuda"
+
+#: engines/dialogs.cpp:101
+msgid "~A~bout"
+msgstr "Acerca ~d~e"
+
+#: engines/dialogs.cpp:104 engines/dialogs.cpp:180
+msgid "~R~eturn to Launcher"
+msgstr "~V~olver ao Iniciador"
+
+#: engines/dialogs.cpp:106 engines/dialogs.cpp:182
+msgctxt "lowres"
+msgid "~R~eturn to Launcher"
+msgstr "~V~olver ao Iniciador"
+
+#: engines/dialogs.cpp:115 engines/agi/saveload.cpp:803
+#: engines/cruise/menu.cpp:212 engines/sci/engine/kfile.cpp:742
+msgid "Save game:"
+msgstr "Gardar partida:"
+
+#: engines/dialogs.cpp:115 engines/agi/saveload.cpp:803
+#: engines/scumm/dialogs.cpp:187 engines/cruise/menu.cpp:212
+#: engines/sci/engine/kfile.cpp:742
+#: backends/platform/symbian/src/SymbianActions.cpp:44
+#: backends/platform/wince/CEActionsPocket.cpp:43
+#: backends/platform/wince/CEActionsPocket.cpp:267
+#: backends/platform/wince/CEActionsSmartphone.cpp:45
+#: backends/platform/wince/CEActionsSmartphone.cpp:231
+msgid "Save"
+msgstr "Gardar"
+
+#: engines/dialogs.cpp:144
+msgid ""
+"Sorry, this engine does not currently provide in-game help. Please consult "
+"the README for basic information, and for instructions on how to obtain "
+"further assistance."
+msgstr ""
+"Este motor non ofrece axuda no xogo actualmente. Consulta o ficheiro README "
+"para obter información básica e máis instrucións para acadar asistencia "
+"adicional."
+
+#: engines/dialogs.cpp:228
+#, c-format
+msgid ""
+"Gamestate save failed (%s)! Please consult the README for basic information, "
+"and for instructions on how to obtain further assistance."
+msgstr ""
+"Erro ao gardar (%s)! Consulta o ficheiro README para obter información "
+"básica e máis instrucións para acadar asistencia adicional."
+
+#: engines/dialogs.cpp:301 engines/mohawk/dialogs.cpp:109
+#: engines/mohawk/dialogs.cpp:174
+msgid "~O~K"
+msgstr "~A~ceptar"
+
+#: engines/dialogs.cpp:302 engines/mohawk/dialogs.cpp:110
+#: engines/mohawk/dialogs.cpp:175
+msgid "~C~ancel"
+msgstr "~C~ancelar"
+
+#: engines/dialogs.cpp:305
+msgid "~K~eys"
+msgstr "~T~eclas"
+
+#: engines/engine.cpp:235
+msgid "Could not initialize color format."
+msgstr "Non se puido iniciar o formato de cor."
+
+#: engines/engine.cpp:243
+msgid "Could not switch to video mode: '"
+msgstr "Non se puido cambiar ao modo de vídeo: '"
+
+#: engines/engine.cpp:252
+msgid "Could not apply aspect ratio setting."
+msgstr "Non se puido aplicar a configuración de proporción."
+
+#: engines/engine.cpp:257
+msgid "Could not apply fullscreen setting."
+msgstr "Non se puido aplicar a configuración de pantalla completa."
+
+#: engines/engine.cpp:357
+msgid ""
+"You appear to be playing this game directly\n"
+"from the CD. This is known to cause problems,\n"
+"and it is therefore recommended that you copy\n"
+"the data files to your hard disk instead.\n"
+"See the README file for details."
+msgstr ""
+"Semella que estás a xogar directamente\n"
+"dende o CD. Temos constancia de que causa,\n"
+"problemas. Por iso, recomendámosche copiar\n"
+"os ficheiros de datos ao disco duro. Consulta\n"
+"o ficheiro README para obter máis información."
+
+#: engines/engine.cpp:368
+msgid ""
+"This game has audio tracks in its disk. These\n"
+"tracks need to be ripped from the disk using\n"
+"an appropriate CD audio extracting tool in\n"
+"order to listen to the game's music.\n"
+"See the README file for details."
+msgstr ""
+"O xogo ten pistas de son no disco. Debes\n"
+"extraelas por medio dunha ferramenta\n"
+"axeitada para poder escoitar a música\n"
+"do xogo. Consulta o ficheiro README\n"
+"para obter máis información."
+
+#: engines/engine.cpp:426
+#, c-format
+msgid ""
+"Gamestate load failed (%s)! Please consult the README for basic information, "
+"and for instructions on how to obtain further assistance."
+msgstr ""
+"Erro ao cargar (%s)! Consulta o ficheiro README para obter información "
+"básica e máis instrucións para acadar asistencia adicional."
+
+#: engines/engine.cpp:439
+msgid ""
+"WARNING: The game you are about to start is not yet fully supported by "
+"ScummVM. As such, it is likely to be unstable, and any saves you make might "
+"not work in future versions of ScummVM."
+msgstr ""
+"Ollo: o xogo que vas iniciar non é aínda totalmente compatible con ScummVM. "
+"Por iso, talvez sexa inestable e os ficheiros de gardado talvez non "
+"funcionen en futuras versións de ScummVM."
+
+#: engines/engine.cpp:442
+msgid "Start anyway"
+msgstr "Iniciar de todos os xeitos"
+
+#: engines/agi/detection.cpp:145 engines/dreamweb/detection.cpp:47
+#: engines/sci/detection.cpp:390
+msgid "Use original save/load screens"
+msgstr "Empregar pantallas orixinais de gardado e carga"
+
+#: engines/agi/detection.cpp:146 engines/dreamweb/detection.cpp:48
+#: engines/sci/detection.cpp:391
+msgid "Use the original save/load screens, instead of the ScummVM ones"
+msgstr ""
+"Empregar as pantallas orixinais de gardado e carga, no canto das de ScummVM"
+
+#: engines/agi/saveload.cpp:816 engines/sci/engine/kfile.cpp:838
+msgid "Restore game:"
+msgstr "Restaurar xogo:"
+
+#: engines/agi/saveload.cpp:816 engines/sci/engine/kfile.cpp:838
+msgid "Restore"
+msgstr "Restaurar"
+
+#: engines/dreamweb/detection.cpp:57
+msgid "Use bright palette mode"
+msgstr "Empregar modo de paleta intensa"
+
+#: engines/dreamweb/detection.cpp:58
+msgid "Display graphics using the game's bright palette"
+msgstr "Mostrar os gráficos coa paletta intensa do xogo"
+
+#: engines/sci/detection.cpp:370
+msgid "EGA undithering"
+msgstr "Non interpolación EGA"
+
+#: engines/sci/detection.cpp:371
+msgid "Enable undithering in EGA games"
+msgstr "Activar a non interpolación nos xogos en EGA"
+
+#: engines/sci/detection.cpp:380
+msgid "Prefer digital sound effects"
+msgstr "Preferir efectos de son dixitais"
+
+#: engines/sci/detection.cpp:381
+msgid "Prefer digital sound effects instead of synthesized ones"
+msgstr "Dar preferencia aos efectos de son dixitais no canto dos sintéticos"
+
+#: engines/sci/detection.cpp:400
+msgid "Use IMF/Yamaha FB-01 for MIDI output"
+msgstr "Empregar IMF/Yamaha FB-01 para a saída de MIDI"
+
+#: engines/sci/detection.cpp:401
+msgid ""
+"Use an IBM Music Feature card or a Yamaha FB-01 FM synth module for MIDI "
+"output"
+msgstr ""
+"Empregar unha tarxeta IBM Music Feature ou un módulo de sintetizador Yamaha "
+"FB-01 FM para a saída de MIDI"
+
+#: engines/sci/detection.cpp:411
+msgid "Use CD audio"
+msgstr "Empregar son de CD"
+
+#: engines/sci/detection.cpp:412
+msgid "Use CD audio instead of in-game audio, if available"
+msgstr "Empregar son de CD no canto do do xogo, de ser o caso"
+
+#: engines/sci/detection.cpp:422
+msgid "Use Windows cursors"
+msgstr "Empregar cursores de Windows"
+
+#: engines/sci/detection.cpp:423
+msgid ""
+"Use the Windows cursors (smaller and monochrome) instead of the DOS ones"
+msgstr ""
+"Empregar os cursores de Windows (máis pequenos e monocromos) no canto dos de "
+"DOS"
+
+#: engines/sci/detection.cpp:433
+msgid "Use silver cursors"
+msgstr "Empregar cursores prateados"
+
+#: engines/sci/detection.cpp:434
+msgid ""
+"Use the alternate set of silver cursors, instead of the normal golden ones"
+msgstr ""
+"Empregar o xogo de cursores prateados alternativo, no canto dos dourados "
+"normais"
+
+#: engines/scumm/dialogs.cpp:175
+#, c-format
+msgid "Insert Disk %c and Press Button to Continue."
+msgstr "Insire o disco %c e preme o botón para continuar."
+
+#: engines/scumm/dialogs.cpp:176
+#, c-format
+msgid "Unable to Find %s, (%c%d) Press Button."
+msgstr "Non se puido atopar %s, (%c%d). Preme o botón."
+
+#: engines/scumm/dialogs.cpp:177
+#, c-format
+msgid "Error reading disk %c, (%c%d) Press Button."
+msgstr "Erro ao ler o disco %c, (%c%d). Preme o botón."
+
+#: engines/scumm/dialogs.cpp:178
+msgid "Game Paused. Press SPACE to Continue."
+msgstr "Xogo en pausa. Pulsa a barra espazadora para continuar."
+
+#. I18N: You may specify 'Yes' symbol at the end of the line, like this:
+#. "Moechten Sie wirklich neu starten? (J/N)J"
+#. Will react to J as 'Yes'
+#: engines/scumm/dialogs.cpp:182
+msgid "Are you sure you want to restart? (Y/N)"
+msgstr "Seguro que queres reiniciar? (S/N)S"
+
+#. I18N: you may specify 'Yes' symbol at the end of the line. See previous comment
+#: engines/scumm/dialogs.cpp:184
+msgid "Are you sure you want to quit? (Y/N)"
+msgstr "Seguro que queres saír? (S/N)S"
+
+#: engines/scumm/dialogs.cpp:189
+msgid "Play"
+msgstr "Xogar"
+
+#: engines/scumm/dialogs.cpp:191 engines/scumm/help.cpp:82
+#: engines/scumm/help.cpp:84
+#: backends/platform/symbian/src/SymbianActions.cpp:52
+#: backends/platform/wince/CEActionsPocket.cpp:44
+#: backends/platform/wince/CEActionsSmartphone.cpp:52
+#: backends/events/default/default-events.cpp:213
+msgid "Quit"
+msgstr "Saír"
+
+#: engines/scumm/dialogs.cpp:193
+msgid "Insert save/load game disk"
+msgstr "Inserir disco de gardado/carga"
+
+#: engines/scumm/dialogs.cpp:194
+msgid "You must enter a name"
+msgstr "Debes introducir un nome"
+
+#: engines/scumm/dialogs.cpp:195
+msgid "The game was NOT saved (disk full?)"
+msgstr "Non se puido gardar a partida (disco cheo?)"
+
+#: engines/scumm/dialogs.cpp:196
+msgid "The game was NOT loaded"
+msgstr "Non se puido cargar a partida"
+
+#: engines/scumm/dialogs.cpp:197
+#, c-format
+msgid "Saving '%s'"
+msgstr "Gardando %s"
+
+#: engines/scumm/dialogs.cpp:198
+#, c-format
+msgid "Loading '%s'"
+msgstr "Cargando %s"
+
+#: engines/scumm/dialogs.cpp:199
+msgid "Name your SAVE game"
+msgstr "Introduce un nome para a partida gardada"
+
+#: engines/scumm/dialogs.cpp:200
+msgid "Select a game to LOAD"
+msgstr "Selecciona unha partida para cargala"
+
+#: engines/scumm/dialogs.cpp:201
+msgid "Game title)"
+msgstr "Título)"
+
+#. I18N: Previous page button
+#: engines/scumm/dialogs.cpp:287
+msgid "~P~revious"
+msgstr "~A~nterior"
+
+#. I18N: Next page button
+#: engines/scumm/dialogs.cpp:289
+msgid "~N~ext"
+msgstr "~S~eguinte"
+
+#: engines/scumm/dialogs.cpp:290
+#: backends/platform/ds/arm9/source/dsoptions.cpp:56
+msgid "~C~lose"
+msgstr "~P~echar"
+
+#: engines/scumm/dialogs.cpp:597
+msgid "Speech Only"
+msgstr "Só voz"
+
+#: engines/scumm/dialogs.cpp:598
+msgid "Speech and Subtitles"
+msgstr "Voz e subtítulos"
+
+#: engines/scumm/dialogs.cpp:599
+msgid "Subtitles Only"
+msgstr "Só subtítulos"
+
+#: engines/scumm/dialogs.cpp:607
+msgctxt "lowres"
+msgid "Speech & Subs"
+msgstr "Voz e subs"
+
+#: engines/scumm/dialogs.cpp:653
+msgid "Select a Proficiency Level."
+msgstr "Selecciona un nivel de habilidade."
+
+#: engines/scumm/dialogs.cpp:655
+msgid "Refer to your Loom(TM) manual for help."
+msgstr "Consulta o manual de Loom(TM) para obter axuda."
+
+#: engines/scumm/dialogs.cpp:658
+msgid "Standard"
+msgstr "Estándar"
+
+#: engines/scumm/dialogs.cpp:659
+msgid "Practice"
+msgstr "Práctica"
+
+#: engines/scumm/dialogs.cpp:660
+msgid "Expert"
+msgstr "Experto"
+
+#: engines/scumm/help.cpp:73
+msgid "Common keyboard commands:"
+msgstr "Comandos de teclado comúns:"
+
+#: engines/scumm/help.cpp:74
+msgid "Save / Load dialog"
+msgstr "Gardar/cargar diálogo"
+
+#: engines/scumm/help.cpp:76
+msgid "Skip line of text"
+msgstr "Omitir liña de texto"
+
+#: engines/scumm/help.cpp:77
+msgid "Esc"
+msgstr "ESC"
+
+#: engines/scumm/help.cpp:77
+msgid "Skip cutscene"
+msgstr "Omitir secuencia"
+
+#: engines/scumm/help.cpp:78
+msgid "Space"
+msgstr "Barra espazadora"
+
+#: engines/scumm/help.cpp:78
+msgid "Pause game"
+msgstr "Pausar xogo"
+
+#: engines/scumm/help.cpp:79 engines/scumm/help.cpp:84
+#: engines/scumm/help.cpp:95 engines/scumm/help.cpp:96
+#: engines/scumm/help.cpp:97 engines/scumm/help.cpp:98
+#: engines/scumm/help.cpp:99 engines/scumm/help.cpp:100
+#: engines/scumm/help.cpp:101 engines/scumm/help.cpp:102
+msgid "Ctrl"
+msgstr "CTRL"
+
+#: engines/scumm/help.cpp:79
+msgid "Load game state 1-10"
+msgstr "Cargar partida 1-10"
+
+#: engines/scumm/help.cpp:80 engines/scumm/help.cpp:84
+#: engines/scumm/help.cpp:86 engines/scumm/help.cpp:100
+#: engines/scumm/help.cpp:101 engines/scumm/help.cpp:102
+msgid "Alt"
+msgstr "ALT"
+
+#: engines/scumm/help.cpp:80
+msgid "Save game state 1-10"
+msgstr "Gardar partida 1-10"
+
+#: engines/scumm/help.cpp:86 engines/scumm/help.cpp:89
+msgid "Enter"
+msgstr "INTRO"
+
+#: engines/scumm/help.cpp:86
+msgid "Toggle fullscreen"
+msgstr "Activar/desactivar pantalla completa"
+
+#: engines/scumm/help.cpp:87
+msgid "Music volume up / down"
+msgstr "Subir/baixar volume de música"
+
+#: engines/scumm/help.cpp:88
+msgid "Text speed slower / faster"
+msgstr "Acelerar/frear texto"
+
+#: engines/scumm/help.cpp:89
+msgid "Simulate left mouse button"
+msgstr "Simular botón primario do rato"
+
+#: engines/scumm/help.cpp:90
+msgid "Tab"
+msgstr "TAB"
+
+#: engines/scumm/help.cpp:90
+msgid "Simulate right mouse button"
+msgstr "Simular botón secundario do rato"
+
+#: engines/scumm/help.cpp:93
+msgid "Special keyboard commands:"
+msgstr "Comandos de teclado especiais:"
+
+#: engines/scumm/help.cpp:94
+msgid "Show / Hide console"
+msgstr "Mostrar/ocultar consola"
+
+#: engines/scumm/help.cpp:95
+msgid "Start the debugger"
+msgstr "Iniciar o depurador"
+
+#: engines/scumm/help.cpp:96
+msgid "Show memory consumption"
+msgstr "Mostrar consumo de memoria"
+
+#: engines/scumm/help.cpp:97
+msgid "Run in fast mode (*)"
+msgstr "Executar en modo rápido (*)"
+
+#: engines/scumm/help.cpp:98
+msgid "Run in really fast mode (*)"
+msgstr "Executar en modo moi rápido (*)"
+
+#: engines/scumm/help.cpp:99
+msgid "Toggle mouse capture"
+msgstr "Activar/desactivar captura de rato"
+
+#: engines/scumm/help.cpp:100
+msgid "Switch between graphics filters"
+msgstr "Cambiar filtro de gráficos"
+
+#: engines/scumm/help.cpp:101
+msgid "Increase / Decrease scale factor"
+msgstr "Aumentar/reducir factor de escala"
+
+#: engines/scumm/help.cpp:102
+msgid "Toggle aspect-ratio correction"
+msgstr "Activar/desactivar corrección de proporción"
+
+#: engines/scumm/help.cpp:107
+msgid "* Note that using ctrl-f and"
+msgstr "* Nota: non recomendamos"
+
+#: engines/scumm/help.cpp:108
+msgid " ctrl-g are not recommended"
+msgstr " empregar CTRL-F nin CTRL-G,"
+
+#: engines/scumm/help.cpp:109
+msgid " since they may cause crashes"
+msgstr " xa que poden provocar bloqueos"
+
+#: engines/scumm/help.cpp:110
+msgid " or incorrect game behavior."
+msgstr " ou outros erros no xogo."
+
+#: engines/scumm/help.cpp:114
+msgid "Spinning drafts on the keyboard:"
+msgstr "Tecer feitizos co teclado:"
+
+#: engines/scumm/help.cpp:116
+msgid "Main game controls:"
+msgstr "Controis principais de xogo:"
+
+#: engines/scumm/help.cpp:121 engines/scumm/help.cpp:136
+#: engines/scumm/help.cpp:161
+msgid "Push"
+msgstr "Empuxar"
+
+#: engines/scumm/help.cpp:122 engines/scumm/help.cpp:137
+#: engines/scumm/help.cpp:162
+msgid "Pull"
+msgstr "Tirar de"
+
+#: engines/scumm/help.cpp:123 engines/scumm/help.cpp:138
+#: engines/scumm/help.cpp:163 engines/scumm/help.cpp:197
+#: engines/scumm/help.cpp:207
+msgid "Give"
+msgstr "Dar"
+
+#: engines/scumm/help.cpp:124 engines/scumm/help.cpp:139
+#: engines/scumm/help.cpp:164 engines/scumm/help.cpp:190
+#: engines/scumm/help.cpp:208
+msgid "Open"
+msgstr "Abrir"
+
+#: engines/scumm/help.cpp:126
+msgid "Go to"
+msgstr "Ir a"
+
+#: engines/scumm/help.cpp:127
+msgid "Get"
+msgstr "Coller"
+
+#: engines/scumm/help.cpp:128 engines/scumm/help.cpp:152
+#: engines/scumm/help.cpp:170 engines/scumm/help.cpp:198
+#: engines/scumm/help.cpp:213 engines/scumm/help.cpp:224
+#: engines/scumm/help.cpp:250
+msgid "Use"
+msgstr "Usar"
+
+#: engines/scumm/help.cpp:129 engines/scumm/help.cpp:141
+msgid "Read"
+msgstr "Ler"
+
+#: engines/scumm/help.cpp:130 engines/scumm/help.cpp:147
+msgid "New kid"
+msgstr "Rapaz"
+
+#: engines/scumm/help.cpp:131 engines/scumm/help.cpp:153
+#: engines/scumm/help.cpp:171
+msgid "Turn on"
+msgstr "Acender"
+
+#: engines/scumm/help.cpp:132 engines/scumm/help.cpp:154
+#: engines/scumm/help.cpp:172
+msgid "Turn off"
+msgstr "Apagar"
+
+#: engines/scumm/help.cpp:142 engines/scumm/help.cpp:167
+#: engines/scumm/help.cpp:194
+msgid "Walk to"
+msgstr "Ir a"
+
+#: engines/scumm/help.cpp:143 engines/scumm/help.cpp:168
+#: engines/scumm/help.cpp:195 engines/scumm/help.cpp:210
+#: engines/scumm/help.cpp:227
+msgid "Pick up"
+msgstr "Coller"
+
+#: engines/scumm/help.cpp:144 engines/scumm/help.cpp:169
+msgid "What is"
+msgstr "Que é"
+
+#: engines/scumm/help.cpp:146
+msgid "Unlock"
+msgstr "Despechar"
+
+#: engines/scumm/help.cpp:149
+msgid "Put on"
+msgstr "Poñer"
+
+#: engines/scumm/help.cpp:150
+msgid "Take off"
+msgstr "Quitar"
+
+#: engines/scumm/help.cpp:156
+msgid "Fix"
+msgstr "Reparar"
+
+#: engines/scumm/help.cpp:158
+msgid "Switch"
+msgstr "Cambiar"
+
+#: engines/scumm/help.cpp:166 engines/scumm/help.cpp:228
+msgid "Look"
+msgstr "Mirar"
+
+#: engines/scumm/help.cpp:173 engines/scumm/help.cpp:223
+msgid "Talk"
+msgstr "Falar"
+
+#: engines/scumm/help.cpp:174
+msgid "Travel"
+msgstr "Viaxar"
+
+#: engines/scumm/help.cpp:175
+msgid "To Henry / To Indy"
+msgstr "A Henry / A Indy"
+
+#. I18N: These are different musical notes
+#: engines/scumm/help.cpp:179
+msgid "play C minor on distaff"
+msgstr "tocar do menor no bastón"
+
+#: engines/scumm/help.cpp:180
+msgid "play D on distaff"
+msgstr "tocar re no bastón"
+
+#: engines/scumm/help.cpp:181
+msgid "play E on distaff"
+msgstr "tocar mi no bastón"
+
+#: engines/scumm/help.cpp:182
+msgid "play F on distaff"
+msgstr "tocar fa no bastón"
+
+#: engines/scumm/help.cpp:183
+msgid "play G on distaff"
+msgstr "tocar sol no bastón"
+
+#: engines/scumm/help.cpp:184
+msgid "play A on distaff"
+msgstr "tocar la no bastón"
+
+#: engines/scumm/help.cpp:185
+msgid "play B on distaff"
+msgstr "tocar si no bastón"
+
+#: engines/scumm/help.cpp:186
+msgid "play C major on distaff"
+msgstr "tocar do maior no bastón"
+
+#: engines/scumm/help.cpp:192 engines/scumm/help.cpp:214
+msgid "puSh"
+msgstr "Empurrar"
+
+#: engines/scumm/help.cpp:193 engines/scumm/help.cpp:215
+msgid "pull (Yank)"
+msgstr "Tirar de"
+
+#: engines/scumm/help.cpp:196 engines/scumm/help.cpp:212
+#: engines/scumm/help.cpp:248
+msgid "Talk to"
+msgstr "Falar con"
+
+#: engines/scumm/help.cpp:199 engines/scumm/help.cpp:211
+msgid "Look at"
+msgstr "Mirar"
+
+#: engines/scumm/help.cpp:200
+msgid "turn oN"
+msgstr "Acender"
+
+#: engines/scumm/help.cpp:201
+msgid "turn oFf"
+msgstr "Apagar"
+
+#: engines/scumm/help.cpp:217
+msgid "KeyUp"
+msgstr "Arriba"
+
+#: engines/scumm/help.cpp:217
+msgid "Highlight prev dialogue"
+msgstr "Destacar diálogo anterior"
+
+#: engines/scumm/help.cpp:218
+msgid "KeyDown"
+msgstr "Abaixo"
+
+#: engines/scumm/help.cpp:218
+msgid "Highlight next dialogue"
+msgstr "Destacar diálogo seguinte"
+
+#: engines/scumm/help.cpp:222
+msgid "Walk"
+msgstr "Ir a"
+
+#: engines/scumm/help.cpp:225 engines/scumm/help.cpp:234
+#: engines/scumm/help.cpp:241 engines/scumm/help.cpp:249
+msgid "Inventory"
+msgstr "Inventario"
+
+#: engines/scumm/help.cpp:226
+msgid "Object"
+msgstr "Obxecto"
+
+#: engines/scumm/help.cpp:229
+msgid "Black and White / Color"
+msgstr "Branco e negro/cor"
+
+#: engines/scumm/help.cpp:232
+msgid "Eyes"
+msgstr "Ollos"
+
+#: engines/scumm/help.cpp:233
+msgid "Tongue"
+msgstr "Lingua"
+
+#: engines/scumm/help.cpp:235
+msgid "Punch"
+msgstr "Bater a"
+
+#: engines/scumm/help.cpp:236
+msgid "Kick"
+msgstr "Patear a"
+
+#: engines/scumm/help.cpp:239 engines/scumm/help.cpp:247
+msgid "Examine"
+msgstr "Examinar"
+
+#: engines/scumm/help.cpp:240
+msgid "Regular cursor"
+msgstr "Cursor normal"
+
+#. I18N: Comm is a communication device
+#: engines/scumm/help.cpp:243
+msgid "Comm"
+msgstr "Comunicador"
+
+#: engines/scumm/help.cpp:246
+msgid "Save / Load / Options"
+msgstr "Gardar/cargar/opcións"
+
+#: engines/scumm/help.cpp:255
+msgid "Other game controls:"
+msgstr "Outros controis de xogo:"
+
+#: engines/scumm/help.cpp:257 engines/scumm/help.cpp:267
+msgid "Inventory:"
+msgstr "Inventario:"
+
+#: engines/scumm/help.cpp:258 engines/scumm/help.cpp:274
+msgid "Scroll list up"
+msgstr "Subir lista"
+
+#: engines/scumm/help.cpp:259 engines/scumm/help.cpp:275
+msgid "Scroll list down"
+msgstr "Baixar lista"
+
+#: engines/scumm/help.cpp:260 engines/scumm/help.cpp:268
+msgid "Upper left item"
+msgstr "Obxecto esquerdo arriba"
+
+#: engines/scumm/help.cpp:261 engines/scumm/help.cpp:270
+msgid "Lower left item"
+msgstr "Obxecto esquerdo abaixo"
+
+#: engines/scumm/help.cpp:262 engines/scumm/help.cpp:271
+msgid "Upper right item"
+msgstr "Obxecto dereito arriba"
+
+#: engines/scumm/help.cpp:263 engines/scumm/help.cpp:273
+msgid "Lower right item"
+msgstr "Obxecto dereito abaixo"
+
+#: engines/scumm/help.cpp:269
+msgid "Middle left item"
+msgstr "Obxecto esquerdo medio"
+
+#: engines/scumm/help.cpp:272
+msgid "Middle right item"
+msgstr "Obxecto dereito medio"
+
+#: engines/scumm/help.cpp:279 engines/scumm/help.cpp:284
+msgid "Switching characters:"
+msgstr "Cambiar caracteres:"
+
+#: engines/scumm/help.cpp:281
+msgid "Second kid"
+msgstr "Rapaz 2"
+
+#: engines/scumm/help.cpp:282
+msgid "Third kid"
+msgstr "Rapaz 3"
+
+#: engines/scumm/help.cpp:294
+msgid "Fighting controls (numpad):"
+msgstr "Controis de combate (teclado numérico):"
+
+#: engines/scumm/help.cpp:295 engines/scumm/help.cpp:296
+#: engines/scumm/help.cpp:297
+msgid "Step back"
+msgstr "Paso atrás"
+
+#: engines/scumm/help.cpp:298
+msgid "Block high"
+msgstr "Bloqueo alto"
+
+#: engines/scumm/help.cpp:299
+msgid "Block middle"
+msgstr "Bloqueo medio"
+
+#: engines/scumm/help.cpp:300
+msgid "Block low"
+msgstr "Bloqueo baixo"
+
+#: engines/scumm/help.cpp:301
+msgid "Punch high"
+msgstr "Puñazo alto"
+
+#: engines/scumm/help.cpp:302
+msgid "Punch middle"
+msgstr "Puñazo medio"
+
+#: engines/scumm/help.cpp:303
+msgid "Punch low"
+msgstr "Puñazo baixo"
+
+#: engines/scumm/help.cpp:306
+msgid "These are for Indy on left."
+msgstr "Son para Indy na esquerda."
+
+#: engines/scumm/help.cpp:307
+msgid "When Indy is on the right,"
+msgstr "Se está na dereita,"
+
+#: engines/scumm/help.cpp:308
+msgid "7, 4, and 1 are switched with"
+msgstr "7, 4 e 1 cámbianse por"
+
+#: engines/scumm/help.cpp:309
+msgid "9, 6, and 3, respectively."
+msgstr "9, 6 e 3 respectivamente."
+
+#: engines/scumm/help.cpp:316
+msgid "Biplane controls (numpad):"
+msgstr "Controis de biplano (teclado numérico):"
+
+#: engines/scumm/help.cpp:317
+msgid "Fly to upper left"
+msgstr "Voar á esquerda arriba"
+
+#: engines/scumm/help.cpp:318
+msgid "Fly to left"
+msgstr "Voar á esquerda"
+
+#: engines/scumm/help.cpp:319
+msgid "Fly to lower left"
+msgstr "Voar á esquerda abaixo"
+
+#: engines/scumm/help.cpp:320
+msgid "Fly upwards"
+msgstr "Voar arriba"
+
+#: engines/scumm/help.cpp:321
+msgid "Fly straight"
+msgstr "Voar recto"
+
+#: engines/scumm/help.cpp:322
+msgid "Fly down"
+msgstr "Voar abaixo"
+
+#: engines/scumm/help.cpp:323
+msgid "Fly to upper right"
+msgstr "Voar á dereita arriba"
+
+#: engines/scumm/help.cpp:324
+msgid "Fly to right"
+msgstr "Voar á dereita"
+
+#: engines/scumm/help.cpp:325
+msgid "Fly to lower right"
+msgstr "Voar á dereita abaixo"
+
+#: engines/scumm/scumm.cpp:1773
+#, c-format
+msgid ""
+"Native MIDI support requires the Roland Upgrade from LucasArts,\n"
+"but %s is missing. Using AdLib instead."
+msgstr ""
+"A compatibilidade nativa con MIDI precisa a actualización de Roland\n"
+"de LucasArts, mais falla %s. Empregarase AdLib."
+
+#: engines/scumm/scumm.cpp:2278 engines/agos/saveload.cpp:220
+#, c-format
+msgid ""
+"Failed to save game state to file:\n"
+"\n"
+"%s"
+msgstr ""
+"Erro ao gardar a partida no ficheiro:\n"
+"\n"
+"%s"
+
+#: engines/scumm/scumm.cpp:2285 engines/agos/saveload.cpp:185
+#, c-format
+msgid ""
+"Failed to load game state from file:\n"
+"\n"
+"%s"
+msgstr ""
+"Erro ao cargar a partida do ficheiro:\n"
+"\n"
+"%s"
+
+#: engines/scumm/scumm.cpp:2297 engines/agos/saveload.cpp:228
+#, c-format
+msgid ""
+"Successfully saved game state in file:\n"
+"\n"
+"%s"
+msgstr ""
+"Partida gardada con éxito no ficheiro:\n"
+"\n"
+"%s"
+
+#: engines/scumm/scumm.cpp:2512
+msgid ""
+"Usually, Maniac Mansion would start now. But ScummVM doesn't do that yet. To "
+"play it, go to 'Add Game' in the ScummVM start menu and select the 'Maniac' "
+"directory inside the Tentacle game directory."
+msgstr ""
+"Maniac Mansion tería que empezar agora. Porén, ScummVM aínda non é quen de "
+"facelo. Para xogar, vai a Engadir xogo no menú de inicio de ScummVM e "
+"selecciona o directorio Maniac que está dentro do directorio Tentacle."
+
+#. I18N: Option for fast scene switching
+#: engines/mohawk/dialogs.cpp:92 engines/mohawk/dialogs.cpp:171
+msgid "~Z~ip Mode Activated"
+msgstr "Modo ~c~omprimido activado"
+
+#: engines/mohawk/dialogs.cpp:93
+msgid "~T~ransitions Enabled"
+msgstr "~T~ransicións activadas"
+
+#. I18N: Drop book page
+#: engines/mohawk/dialogs.cpp:95
+msgid "~D~rop Page"
+msgstr "~D~eixar folla"
+
+#: engines/mohawk/dialogs.cpp:99
+msgid "~S~how Map"
+msgstr "Mo~s~trar mapa"
+
+#: engines/mohawk/dialogs.cpp:105
+msgid "~M~ain Menu"
+msgstr "~M~enú principal"
+
+#: engines/mohawk/dialogs.cpp:172
+msgid "~W~ater Effect Enabled"
+msgstr "Efecto de ~a~uga activado"
+
+#: engines/agos/animation.cpp:560
+#, c-format
+msgid "Cutscene file '%s' not found!"
+msgstr "Non se atopou o ficheiro de secuencia %s!"
+
+#: engines/gob/inter_playtoons.cpp:256 engines/gob/inter_v2.cpp:1287
+#: engines/tinsel/saveload.cpp:532
+msgid "Failed to load game state from file."
+msgstr "Erro ao cargar a partida do ficheiro."
+
+#: engines/gob/inter_v2.cpp:1357 engines/tinsel/saveload.cpp:545
+msgid "Failed to save game state to file."
+msgstr "Erro ao gardar a partida no ficheiro."
+
+#: engines/gob/inter_v5.cpp:107
+msgid "Failed to delete file."
+msgstr "Erro ao eliminar o ficheiro."
+
+#: engines/groovie/script.cpp:420
+msgid "Failed to save game"
+msgstr "Erro ao gardar a partida"
+
+#. I18N: Studio audience adds an applause and cheering sounds whenever
+#. Malcolm makes a joke.
+#: engines/kyra/detection.cpp:62
+msgid "Studio audience"
+msgstr "Público do estudio"
+
+#: engines/kyra/detection.cpp:63
+msgid "Enable studio audience"
+msgstr "Activar o público do estudio"
+
+#. I18N: This option allows the user to skip text and cutscenes.
+#: engines/kyra/detection.cpp:73
+msgid "Skip support"
+msgstr "Omisións"
+
+#: engines/kyra/detection.cpp:74
+msgid "Allow text and cutscenes to be skipped"
+msgstr "Permitir a omisión do texto e das secuencias"
+
+#. I18N: Helium mode makes people sound like they've inhaled Helium.
+#: engines/kyra/detection.cpp:84
+msgid "Helium mode"
+msgstr "Modo helio"
+
+#: engines/kyra/detection.cpp:85
+msgid "Enable helium mode"
+msgstr "Activar o modo helio"
+
+#. I18N: When enabled, this option makes scrolling smoother when
+#. changing from one screen to another.
+#: engines/kyra/detection.cpp:99
+msgid "Smooth scrolling"
+msgstr "Desprazamento suave"
+
+#: engines/kyra/detection.cpp:100
+msgid "Enable smooth scrolling when walking"
+msgstr "Activar o desprazamento suave ao camiñar"
+
+#. I18N: When enabled, this option changes the cursor when it floats to the
+#. edge of the screen to a directional arrow. The player can then click to
+#. walk towards that direction.
+#: engines/kyra/detection.cpp:112
+msgid "Floating cursors"
+msgstr "Cursores flotantes"
+
+#: engines/kyra/detection.cpp:113
+msgid "Enable floating cursors"
+msgstr "Activar cursores flotantes"
+
+#. I18N: HP stands for Hit Points
+#: engines/kyra/detection.cpp:127
+msgid "HP bar graphs"
+msgstr "Barras de vida"
+
+#: engines/kyra/detection.cpp:128
+msgid "Enable hit point bar graphs"
+msgstr "Activar barras de vida"
+
+#: engines/kyra/lol.cpp:478
+msgid "Attack 1"
+msgstr "Ataque 1"
+
+#: engines/kyra/lol.cpp:479
+msgid "Attack 2"
+msgstr "Ataque 2"
+
+#: engines/kyra/lol.cpp:480
+msgid "Attack 3"
+msgstr "Ataque 3"
+
+#: engines/kyra/lol.cpp:481
+msgid "Move Forward"
+msgstr "Mover cara diante"
+
+#: engines/kyra/lol.cpp:482
+msgid "Move Back"
+msgstr "Mover cara atrás"
+
+#: engines/kyra/lol.cpp:483
+msgid "Slide Left"
+msgstr "Esvarar á esquerda"
+
+#: engines/kyra/lol.cpp:484
+msgid "Slide Right"
+msgstr "Esvarar á dereita"
+
+#: engines/kyra/lol.cpp:485
+msgid "Turn Left"
+msgstr "Xirar á esquerda"
+
+#: engines/kyra/lol.cpp:486
+msgid "Turn Right"
+msgstr "Xirar á dereita"
+
+#: engines/kyra/lol.cpp:487
+msgid "Rest"
+msgstr "Parar"
+
+#: engines/kyra/lol.cpp:488
+msgid "Options"
+msgstr "Opcións"
+
+#: engines/kyra/lol.cpp:489
+msgid "Choose Spell"
+msgstr "Elixir feitizo"
+
+#: engines/kyra/sound_midi.cpp:475
+msgid ""
+"You appear to be using a General MIDI device,\n"
+"but your game only supports Roland MT32 MIDI.\n"
+"We try to map the Roland MT32 instruments to\n"
+"General MIDI ones. It is still possible that\n"
+"some tracks sound incorrect."
+msgstr ""
+"Semella que estás a empregar un dispositivo,\n"
+"de General MIDI, maix o xogo só e compatible con\n"
+"Roland MT32 MIDI. Tentamos asignar os instrumentos\n"
+"aos de General MIDI. No entanto, existe a posibilidade\n"
+"de que algunhas pistas non soen correctamente."
+
+#: engines/queen/queen.cpp:59
+msgid "Alternative intro"
+msgstr "Intro alternativa"
+
+#: engines/queen/queen.cpp:60
+msgid "Use an alternative game intro (CD version only)"
+msgstr "Empregar unha introdución alternativa para o xogo (só versión en CD)"
+
+#: engines/sky/compact.cpp:130
+msgid ""
+"Unable to find \"sky.cpt\" file!\n"
+"Please download it from www.scummvm.org"
+msgstr ""
+"O ficheiro sky.cpt non se atopa!\n"
+"Descárgao dende www.scummvm.org"
+
+#: engines/sky/compact.cpp:141
+msgid ""
+"The \"sky.cpt\" file has an incorrect size.\n"
+"Please (re)download it from www.scummvm.org"
+msgstr ""
+"O ficheiro sky.cpt ten un tamaño incorrecto.\n"
+"Descárgao (de novo) dende www.scummvm.org"
+
+#: engines/sky/detection.cpp:44
+msgid "Floppy intro"
+msgstr "Intro de disquete"
+
+#: engines/sky/detection.cpp:45
+msgid "Use the floppy version's intro (CD version only)"
+msgstr "Empregar a introdución da versión en disquete (só versión en CD)"
+
+#: engines/sword1/animation.cpp:539
+#, c-format
+msgid "PSX stream cutscene '%s' cannot be played in paletted mode"
+msgstr "Non se pode reproducir a secuencia %s de PSX neste modo gráfico"
+
+#: engines/sword1/animation.cpp:560 engines/sword2/animation.cpp:455
+msgid "DXA cutscenes found but ScummVM has been built without zlib support"
+msgstr ""
+"Atopáronse secuencias de DXA. No entanto, esta versión de ScummVM non é "
+"compatible con zlib"
+
+#: engines/sword1/animation.cpp:570 engines/sword2/animation.cpp:465
+msgid "MPEG2 cutscenes are no longer supported"
+msgstr "Xa non hai compatibilidade coas secuencias en MPEG2"
+
+#: engines/sword1/animation.cpp:576 engines/sword2/animation.cpp:473
+#, c-format
+msgid "Cutscene '%s' not found"
+msgstr "Non se atopou a secuencia %s"
+
+#: engines/sword1/control.cpp:863
+msgid ""
+"ScummVM found that you have old savefiles for Broken Sword 1 that should be "
+"converted.\n"
+"The old save game format is no longer supported, so you will not be able to "
+"load your games if you don't convert them.\n"
+"\n"
+"Press OK to convert them now, otherwise you will be asked again the next "
+"time you start the game.\n"
+msgstr ""
+"ScummVM atopou ficheiros de gardado vellos de Broken Sword 1 que deberían "
+"ser convertidos.\n"
+"O formato vello xa non é compatible, de xeito que non poderás cargar as "
+"partidas se non os convertes.\n"
+"\n"
+"Preme Aceptar para convertilos. Se non, volverás ver esta mensaxe a próxima "
+"vez que inicies o xogo.\n"
+
+#: engines/sword1/control.cpp:1232
+#, c-format
+msgid ""
+"Target new save game already exists!\n"
+"Would you like to keep the old save game (%s) or the new one (%s)?\n"
+msgstr ""
+"Xa existe unha partida con ese nome!\n"
+"Queres conservar a vella (%s) ou a nova (%s)?\n"
+
+#: engines/sword1/control.cpp:1235
+msgid "Keep the old one"
+msgstr "Conservar a vella"
+
+#: engines/sword1/control.cpp:1235
+msgid "Keep the new one"
+msgstr "Conservar a nova"
+
+#: engines/sword1/logic.cpp:1633
+msgid "This is the end of the Broken Sword 1 Demo"
+msgstr "Aquí remata a demo de Broken Sword 1"
+
+#: engines/sword2/animation.cpp:435
+msgid ""
+"PSX cutscenes found but ScummVM has been built without RGB color support"
+msgstr ""
+"Atopáronse secuencias de PSX. No entanto, a versión de ScummVM non é "
+"compatible con cores RGB"
+
+#: engines/sword2/sword2.cpp:79
+msgid "Show object labels"
+msgstr "Mostrar etiquetas"
+
+#: engines/sword2/sword2.cpp:80
+msgid "Show labels for objects on mouse hover"
+msgstr "Mostrar as etiquetas dos obxectos ao apuntar co rato"
+
+#: engines/teenagent/resources.cpp:68
+msgid ""
+"You're missing the 'teenagent.dat' file. Get it from the ScummVM website"
+msgstr ""
+"Falta o ficheiro teenagent.dat. Descárgao dende o sitio web de ScummVM."
+
+#: engines/teenagent/resources.cpp:89
+msgid ""
+"The teenagent.dat file is compressed and zlib hasn't been included in this "
+"executable. Please decompress it"
+msgstr ""
+"O ficheiro teenagent.dat está comprimido e zlib non foi incluído neste "
+"executable. Descomprime o ficheiro"
+
+#: engines/parallaction/saveload.cpp:133
+#, c-format
+msgid ""
+"Can't save game in slot %i\n"
+"\n"
+msgstr ""
+"Non se pode gardar a partida no espazo %i\n"
+"\n"
+
+#: engines/parallaction/saveload.cpp:204
+msgid "Loading game..."
+msgstr "Cargando..."
+
+#: engines/parallaction/saveload.cpp:219
+msgid "Saving game..."
+msgstr "Gardando..."
+
+#: engines/parallaction/saveload.cpp:272
+msgid ""
+"ScummVM found that you have old savefiles for Nippon Safes that should be "
+"renamed.\n"
+"The old names are no longer supported, so you will not be able to load your "
+"games if you don't convert them.\n"
+"\n"
+"Press OK to convert them now, otherwise you will be asked next time.\n"
+msgstr ""
+"ScummVM atopou ficheiros de gardado vellos de Nippon Safes que deberían ser "
+"renomeados.\n"
+"Os nomes vellos xa non son compatibles, de xeito que non poderás cargar as "
+"partidas se non os cambias.\n"
+"\n"
+"Preme Aceptar para cambialos. Se non, volverás ver esta mensaxe a próxima "
+"vez que inicies o xogo.\n"
+
+#: engines/parallaction/saveload.cpp:319
+msgid "ScummVM successfully converted all your savefiles."
+msgstr "ScummVM converteu correctamente todos os ficheiros de gardado."
+
+#: engines/parallaction/saveload.cpp:321
+msgid ""
+"ScummVM printed some warnings in your console window and can't guarantee all "
+"your files have been converted.\n"
+"\n"
+"Please report to the team."
+msgstr ""
+"ScummVM imprimiu avisos na ventá da consola. Non se pode garantir a "
+"conversión de todos os ficheiros.\n"
+"\n"
+"Contacta co equipo de ScummVM."
+
+#: audio/fmopl.cpp:49
+msgid "MAME OPL emulator"
+msgstr "Emulador de OPL de MAME"
+
+#: audio/fmopl.cpp:51
+msgid "DOSBox OPL emulator"
+msgstr "Emulador de OPL de DOSBox"
+
+#: audio/mididrv.cpp:209
+#, c-format
+msgid ""
+"The selected audio device '%s' was not found (e.g. might be turned off or "
+"disconnected)."
+msgstr ""
+"Non se atopou o dispositivo de son seleccionado (%s). Talvez estea apagado "
+"ou desconectado."
+
+#: audio/mididrv.cpp:209 audio/mididrv.cpp:221 audio/mididrv.cpp:257
+#: audio/mididrv.cpp:272
+msgid "Attempting to fall back to the next available device..."
+msgstr "Intentando pasar ao seguinte dispositivo dispoñible..."
+
+#: audio/mididrv.cpp:221
+#, c-format
+msgid ""
+"The selected audio device '%s' cannot be used. See log file for more "
+"information."
+msgstr ""
+"Non se pode empregar o dispositivo de son seleccionado (%s). Consulta o "
+"rexistro para obter máis información."
+
+#: audio/mididrv.cpp:257
+#, c-format
+msgid ""
+"The preferred audio device '%s' was not found (e.g. might be turned off or "
+"disconnected)."
+msgstr ""
+"Non se atopou o dispositivo de son preferido (%s). Talvez estea apagado ou "
+"desconectado."
+
+#: audio/mididrv.cpp:272
+#, c-format
+msgid ""
+"The preferred audio device '%s' cannot be used. See log file for more "
+"information."
+msgstr ""
+"Non se pode empregar o dispositivo de son preferido (%s). Consulta o "
+"rexistro para obter máis información."
+
+#: audio/null.h:43
+msgid "No music"
+msgstr "Sen música"
+
+#: audio/mods/paula.cpp:189
+msgid "Amiga Audio Emulator"
+msgstr "Emulador de Amiga Audio"
+
+#: audio/softsynth/adlib.cpp:1593
+msgid "AdLib Emulator"
+msgstr "Emulador de AdLib"
+
+#: audio/softsynth/appleiigs.cpp:33
+msgid "Apple II GS Emulator (NOT IMPLEMENTED)"
+msgstr "Emulador de Apple II GS (non implementado)"
+
+#: audio/softsynth/sid.cpp:1430
+msgid "C64 Audio Emulator"
+msgstr "Emulador de C64 Audio"
+
+#: audio/softsynth/mt32.cpp:293
+msgid "Initializing MT-32 Emulator"
+msgstr "Iniciando emulador de MT-32"
+
+#: audio/softsynth/mt32.cpp:512
+msgid "MT-32 Emulator"
+msgstr "Emulador de MT-32"
+
+#: audio/softsynth/pcspk.cpp:139
+msgid "PC Speaker Emulator"
+msgstr "Emulador de altofalante de PC"
+
+#: audio/softsynth/pcspk.cpp:158
+msgid "IBM PCjr Emulator"
+msgstr "Emulador de IBM PCjr"
+
+#: backends/keymapper/remap-dialog.cpp:47
+msgid "Keymap:"
+msgstr "Asignación de teclas:"
+
+#: backends/keymapper/remap-dialog.cpp:66
+msgid " (Effective)"
+msgstr " (Efectiva)"
+
+#: backends/keymapper/remap-dialog.cpp:106
+msgid " (Active)"
+msgstr " (Activa)"
+
+#: backends/keymapper/remap-dialog.cpp:106
+msgid " (Blocked)"
+msgstr " (Bloqueada)"
+
+#: backends/keymapper/remap-dialog.cpp:119
+msgid " (Global)"
+msgstr " (Global)"
+
+#: backends/keymapper/remap-dialog.cpp:127
+msgid " (Game)"
+msgstr " (Xogo)"
+
+#: backends/midi/windows.cpp:164
+msgid "Windows MIDI"
+msgstr "Windows MIDI"
+
+#: backends/platform/ds/arm9/source/dsoptions.cpp:57
+msgid "ScummVM Main Menu"
+msgstr "Menú principal de ScummVM"
+
+#: backends/platform/ds/arm9/source/dsoptions.cpp:63
+msgid "~L~eft handed mode"
+msgstr "Modo para ~z~urdos"
+
+#: backends/platform/ds/arm9/source/dsoptions.cpp:64
+msgid "~I~ndy fight controls"
+msgstr "Controis de combate de ~I~ndy"
+
+#: backends/platform/ds/arm9/source/dsoptions.cpp:65
+msgid "Show mouse cursor"
+msgstr "Mostrar cursor do rato"
+
+#: backends/platform/ds/arm9/source/dsoptions.cpp:66
+msgid "Snap to edges"
+msgstr "Axustar ás marxes"
+
+#: backends/platform/ds/arm9/source/dsoptions.cpp:68
+msgid "Touch X Offset"
+msgstr "Corrección táctil X"
+
+#: backends/platform/ds/arm9/source/dsoptions.cpp:75
+msgid "Touch Y Offset"
+msgstr "Corrección táctil Y"
+
+#: backends/platform/ds/arm9/source/dsoptions.cpp:87
+msgid "Use laptop trackpad-style cursor control"
+msgstr "Empregar control de cursor por trackpad"
+
+#: backends/platform/ds/arm9/source/dsoptions.cpp:88
+msgid "Tap for left click, double tap right click"
+msgstr "Tocar unha vez, premer co botón primario; dúas veces, botón secundario"
+
+#: backends/platform/ds/arm9/source/dsoptions.cpp:90
+msgid "Sensitivity"
+msgstr "Sensibilidade"
+
+#: backends/platform/ds/arm9/source/dsoptions.cpp:99
+msgid "Initial top screen scale:"
+msgstr "Escala da pantalla inicial:"
+
+#: backends/platform/ds/arm9/source/dsoptions.cpp:105
+msgid "Main screen scaling:"
+msgstr "Escala da pantalla principal:"
+
+#: backends/platform/ds/arm9/source/dsoptions.cpp:107
+msgid "Hardware scale (fast, but low quality)"
+msgstr "Escala por hardware (rápida, mais baixa calidade)"
+
+#: backends/platform/ds/arm9/source/dsoptions.cpp:108
+msgid "Software scale (good quality, but slower)"
+msgstr "Escala por software (boa calidade, mais lenta)"
+
+#: backends/platform/ds/arm9/source/dsoptions.cpp:109
+msgid "Unscaled (you must scroll left and right)"
+msgstr "Sen escala (deberás desprazar á esquerda e á dereita)"
+
+#: backends/platform/ds/arm9/source/dsoptions.cpp:111
+msgid "Brightness:"
+msgstr "Luminosidade:"
+
+#: backends/platform/ds/arm9/source/dsoptions.cpp:121
+msgid "High quality audio (slower) (reboot)"
+msgstr "Son de alta calidade (máis lento) (reiniciar)"
+
+#: backends/platform/ds/arm9/source/dsoptions.cpp:122
+msgid "Disable power off"
+msgstr "Desactivar apagado"
+
+#: backends/platform/iphone/osys_events.cpp:300
+msgid "Mouse-click-and-drag mode enabled."
+msgstr "Modo premer e arrastrar activado."
+
+#: backends/platform/iphone/osys_events.cpp:302
+msgid "Mouse-click-and-drag mode disabled."
+msgstr "Modo premer e arrastrar desactivado."
+
+#: backends/platform/iphone/osys_events.cpp:313
+msgid "Touchpad mode enabled."
+msgstr "Modo panel táctil activado."
+
+#: backends/platform/iphone/osys_events.cpp:315
+msgid "Touchpad mode disabled."
+msgstr "Modo panel táctil desactivado."
+
+#: backends/platform/maemo/maemo.cpp:209
+msgid "Click Mode"
+msgstr "Modo rato"
+
+#: backends/platform/maemo/maemo.cpp:215
+#: backends/platform/symbian/src/SymbianActions.cpp:42
+#: backends/platform/wince/CEActionsPocket.cpp:60
+#: backends/platform/wince/CEActionsSmartphone.cpp:43
+#: backends/platform/bada/form.cpp:281
+msgid "Left Click"
+msgstr "Botón primario"
+
+#: backends/platform/maemo/maemo.cpp:218
+msgid "Middle Click"
+msgstr "Botón central"
+
+#: backends/platform/maemo/maemo.cpp:221
+#: backends/platform/symbian/src/SymbianActions.cpp:43
+#: backends/platform/wince/CEActionsSmartphone.cpp:44
+#: backends/platform/bada/form.cpp:273
+msgid "Right Click"
+msgstr "Botón secundario"
+
+#: backends/platform/sdl/macosx/appmenu_osx.mm:78
+msgid "Hide ScummVM"
+msgstr "Ocultar ScummVM"
+
+#: backends/platform/sdl/macosx/appmenu_osx.mm:83
+msgid "Hide Others"
+msgstr "Ocultar outros"
+
+#: backends/platform/sdl/macosx/appmenu_osx.mm:88
+msgid "Show All"
+msgstr "Mostrar todo"
+
+#: backends/platform/sdl/macosx/appmenu_osx.mm:110
+#: backends/platform/sdl/macosx/appmenu_osx.mm:121
+msgid "Window"
+msgstr "Ventá"
+
+#: backends/platform/sdl/macosx/appmenu_osx.mm:115
+msgid "Minimize"
+msgstr "Minimizar"
+
+#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:45
+msgid "Normal (no scaling)"
+msgstr "Normal (sen escala)"
+
+#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:64
+msgctxt "lowres"
+msgid "Normal (no scaling)"
+msgstr "Normal (sen escala)"
+
+#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2135
+#: backends/graphics/openglsdl/openglsdl-graphics.cpp:533
+msgid "Enabled aspect ratio correction"
+msgstr "Corrección de proporción activada"
+
+#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2141
+#: backends/graphics/openglsdl/openglsdl-graphics.cpp:538
+msgid "Disabled aspect ratio correction"
+msgstr "Corrección de proporción desactivada"
+
+#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2196
+msgid "Active graphics filter:"
+msgstr "Filtro de gráficos activo:"
+
+#: backends/graphics/surfacesdl/surfacesdl-graphics.cpp:2238
+#: backends/graphics/openglsdl/openglsdl-graphics.cpp:477
+msgid "Windowed mode"
+msgstr "Modo en ventá"
+
+#: backends/graphics/opengl/opengl-graphics.cpp:135
+msgid "OpenGL Normal"
+msgstr "OpenGL Normal"
+
+#: backends/graphics/opengl/opengl-graphics.cpp:136
+msgid "OpenGL Conserve"
+msgstr "OpenGL Conserve"
+
+#: backends/graphics/opengl/opengl-graphics.cpp:137
+msgid "OpenGL Original"
+msgstr "OpenGL Original"
+
+#: backends/graphics/openglsdl/openglsdl-graphics.cpp:415
+msgid "Current display mode"
+msgstr "Modo de visualización actual"
+
+#: backends/graphics/openglsdl/openglsdl-graphics.cpp:428
+msgid "Current scale"
+msgstr "Escala actual"
+
+#: backends/graphics/openglsdl/openglsdl-graphics.cpp:558
+msgid "Active filter mode: Linear"
+msgstr "Modo de filtro activo: lineal"
+
+#: backends/graphics/openglsdl/openglsdl-graphics.cpp:560
+msgid "Active filter mode: Nearest"
+msgstr "Modo de filtro activo: máis próximo"
+
+#: backends/platform/symbian/src/SymbianActions.cpp:38
+#: backends/platform/wince/CEActionsSmartphone.cpp:39
+msgid "Up"
+msgstr "Arriba"
+
+#: backends/platform/symbian/src/SymbianActions.cpp:39
+#: backends/platform/wince/CEActionsSmartphone.cpp:40
+msgid "Down"
+msgstr "Abaixo"
+
+#: backends/platform/symbian/src/SymbianActions.cpp:40
+#: backends/platform/wince/CEActionsSmartphone.cpp:41
+msgid "Left"
+msgstr "Esquerda"
+
+#: backends/platform/symbian/src/SymbianActions.cpp:41
+#: backends/platform/wince/CEActionsSmartphone.cpp:42
+msgid "Right"
+msgstr "Dereita"
+
+#: backends/platform/symbian/src/SymbianActions.cpp:46
+#: backends/platform/wince/CEActionsSmartphone.cpp:47
+msgid "Zone"
+msgstr "Zona"
+
+#: backends/platform/symbian/src/SymbianActions.cpp:47
+#: backends/platform/wince/CEActionsPocket.cpp:54
+#: backends/platform/wince/CEActionsSmartphone.cpp:48
+msgid "Multi Function"
+msgstr "Multifunción"
+
+#: backends/platform/symbian/src/SymbianActions.cpp:48
+msgid "Swap character"
+msgstr "Cambiar carácter"
+
+#: backends/platform/symbian/src/SymbianActions.cpp:49
+msgid "Skip text"
+msgstr "Omitir texto"
+
+#: backends/platform/symbian/src/SymbianActions.cpp:51
+msgid "Fast mode"
+msgstr "Modo rápido"
+
+#: backends/platform/symbian/src/SymbianActions.cpp:53
+msgid "Debugger"
+msgstr "Depurador"
+
+#: backends/platform/symbian/src/SymbianActions.cpp:54
+msgid "Global menu"
+msgstr "Menú global"
+
+#: backends/platform/symbian/src/SymbianActions.cpp:55
+msgid "Virtual keyboard"
+msgstr "Teclado virtual"
+
+#: backends/platform/symbian/src/SymbianActions.cpp:56
+msgid "Key mapper"
+msgstr "Asignador de teclas"
+
+#: backends/events/symbiansdl/symbiansdl-events.cpp:184
+msgid "Do you want to quit ?"
+msgstr "Queres saír?"
+
+#: backends/platform/wii/options.cpp:51
+msgid "Video"
+msgstr "Vídeo"
+
+#: backends/platform/wii/options.cpp:54
+msgid "Current video mode:"
+msgstr "Modo de vídeo actual:"
+
+#: backends/platform/wii/options.cpp:56
+msgid "Double-strike"
+msgstr "Dobre"
+
+#: backends/platform/wii/options.cpp:60
+msgid "Horizontal underscan:"
+msgstr "Marxe horizontal:"
+
+#: backends/platform/wii/options.cpp:66
+msgid "Vertical underscan:"
+msgstr "Marxe vertical:"
+
+#: backends/platform/wii/options.cpp:71
+msgid "Input"
+msgstr "Entrada"
+
+#: backends/platform/wii/options.cpp:74
+msgid "GC Pad sensitivity:"
+msgstr "Sensibilidade do mando de GC:"
+
+#: backends/platform/wii/options.cpp:80
+msgid "GC Pad acceleration:"
+msgstr "Aceleración do mando de GC:"
+
+#: backends/platform/wii/options.cpp:86
+msgid "DVD"
+msgstr "DVD"
+
+#: backends/platform/wii/options.cpp:89 backends/platform/wii/options.cpp:101
+msgid "Status:"
+msgstr "Estado:"
+
+#: backends/platform/wii/options.cpp:90 backends/platform/wii/options.cpp:102
+msgid "Unknown"
+msgstr "Descoñecido"
+
+#: backends/platform/wii/options.cpp:93
+msgid "Mount DVD"
+msgstr "Montar DVD"
+
+#: backends/platform/wii/options.cpp:94
+msgid "Unmount DVD"
+msgstr "Desmontar DVD"
+
+#: backends/platform/wii/options.cpp:98
+msgid "SMB"
+msgstr "SMB"
+
+#: backends/platform/wii/options.cpp:106
+msgid "Server:"
+msgstr "Servidor:"
+
+#: backends/platform/wii/options.cpp:110
+msgid "Share:"
+msgstr "Disco compartido:"
+
+#: backends/platform/wii/options.cpp:114
+msgid "Username:"
+msgstr "Nome de usuario:"
+
+#: backends/platform/wii/options.cpp:118
+msgid "Password:"
+msgstr "Contrasinal:"
+
+#: backends/platform/wii/options.cpp:121
+msgid "Init network"
+msgstr "Conectar á rede"
+
+#: backends/platform/wii/options.cpp:123
+msgid "Mount SMB"
+msgstr "Montar SMB"
+
+#: backends/platform/wii/options.cpp:124
+msgid "Unmount SMB"
+msgstr "Desmontar SMB"
+
+#: backends/platform/wii/options.cpp:143
+msgid "DVD Mounted successfully"
+msgstr "DVD montado con éxito"
+
+#: backends/platform/wii/options.cpp:146
+msgid "Error while mounting the DVD"
+msgstr "Erro ao montar o DVD"
+
+#: backends/platform/wii/options.cpp:148
+msgid "DVD not mounted"
+msgstr "DVD non montado"
+
+#: backends/platform/wii/options.cpp:161
+msgid "Network up, share mounted"
+msgstr "Conexión á rede, disco montado"
+
+#: backends/platform/wii/options.cpp:163
+msgid "Network up"
+msgstr "Conexión á rede"
+
+#: backends/platform/wii/options.cpp:166
+msgid ", error while mounting the share"
+msgstr ", erro ao montar o disco"
+
+#: backends/platform/wii/options.cpp:168
+msgid ", share not mounted"
+msgstr ", disco non montado"
+
+#: backends/platform/wii/options.cpp:174
+msgid "Network down"
+msgstr "Non hai conexión á rede"
+
+#: backends/platform/wii/options.cpp:178
+msgid "Initializing network"
+msgstr "Conectando á rede"
+
+#: backends/platform/wii/options.cpp:182
+msgid "Timeout while initializing network"
+msgstr "Tempo de espera esgotado"
+
+#: backends/platform/wii/options.cpp:186
+#, c-format
+msgid "Network not initialized (%d)"
+msgstr "Erro de conexión á rede (%d)"
+
+#: backends/platform/wince/CEActionsPocket.cpp:46
+msgid "Hide Toolbar"
+msgstr "Ocultar barra de ferramentas"
+
+#: backends/platform/wince/CEActionsPocket.cpp:47
+msgid "Show Keyboard"
+msgstr "Mostrar teclado"
+
+#: backends/platform/wince/CEActionsPocket.cpp:48
+msgid "Sound on/off"
+msgstr "Son si/non"
+
+#: backends/platform/wince/CEActionsPocket.cpp:49
+msgid "Right click"
+msgstr "Botón secundario"
+
+#: backends/platform/wince/CEActionsPocket.cpp:50
+msgid "Show/Hide Cursor"
+msgstr "Mostrar/ocultar cursor"
+
+#: backends/platform/wince/CEActionsPocket.cpp:51
+msgid "Free look"
+msgstr "Vista libre"
+
+#: backends/platform/wince/CEActionsPocket.cpp:52
+msgid "Zoom up"
+msgstr "Ampliar"
+
+#: backends/platform/wince/CEActionsPocket.cpp:53
+msgid "Zoom down"
+msgstr "Reducir"
+
+#: backends/platform/wince/CEActionsPocket.cpp:55
+#: backends/platform/wince/CEActionsSmartphone.cpp:49
+msgid "Bind Keys"
+msgstr "Vincular teclas"
+
+#: backends/platform/wince/CEActionsPocket.cpp:56
+msgid "Cursor Up"
+msgstr "Arriba"
+
+#: backends/platform/wince/CEActionsPocket.cpp:57
+msgid "Cursor Down"
+msgstr "Abaixo"
+
+#: backends/platform/wince/CEActionsPocket.cpp:58
+msgid "Cursor Left"
+msgstr "Esquerda"
+
+#: backends/platform/wince/CEActionsPocket.cpp:59
+msgid "Cursor Right"
+msgstr "Dereita"
+
+#: backends/platform/wince/CEActionsPocket.cpp:267
+#: backends/platform/wince/CEActionsSmartphone.cpp:231
+msgid "Do you want to load or save the game?"
+msgstr "Queres cargar ou gardar a partida?"
+
+#: backends/platform/wince/CEActionsPocket.cpp:326
+#: backends/platform/wince/CEActionsSmartphone.cpp:287
+msgid " Are you sure you want to quit ? "
+msgstr " Seguro que queres saír?"
+
+#: backends/platform/wince/CEActionsSmartphone.cpp:50
+msgid "Keyboard"
+msgstr "Teclado"
+
+#: backends/platform/wince/CEActionsSmartphone.cpp:51
+msgid "Rotate"
+msgstr "Rotar"
+
+#: backends/platform/wince/CELauncherDialog.cpp:56
+msgid "Using SDL driver "
+msgstr "Empregando driver de SDL"
+
+#: backends/platform/wince/CELauncherDialog.cpp:60
+msgid "Display "
+msgstr "Pantalla"
+
+#: backends/platform/wince/CELauncherDialog.cpp:83
+msgid "Do you want to perform an automatic scan ?"
+msgstr "Queres realizar unha análise automática?"
+
+#: backends/platform/wince/wince-sdl.cpp:515
+msgid "Map right click action"
+msgstr "Asignar acción de botón secundario"
+
+#: backends/platform/wince/wince-sdl.cpp:519
+msgid "You must map a key to the 'Right Click' action to play this game"
+msgstr ""
+"Debes asignar unha tecla á acción do botón secundario do rato para xogar"
+
+#: backends/platform/wince/wince-sdl.cpp:528
+msgid "Map hide toolbar action"
+msgstr "Asignar acción Ocultar barra de ferramentas"
+
+#: backends/platform/wince/wince-sdl.cpp:532
+msgid "You must map a key to the 'Hide toolbar' action to play this game"
+msgstr ""
+"Debes asignar unha tecla á acción Ocultar barra de ferramentas para xogar"
+
+#: backends/platform/wince/wince-sdl.cpp:541
+msgid "Map Zoom Up action (optional)"
+msgstr "Asignar acción de Ampliar (opcional)"
+
+#: backends/platform/wince/wince-sdl.cpp:544
+msgid "Map Zoom Down action (optional)"
+msgstr "Asignar acción de Reducir (opcional)"
+
+#: backends/platform/wince/wince-sdl.cpp:552
+msgid ""
+"Don't forget to map a key to 'Hide Toolbar' action to see the whole inventory"
+msgstr ""
+"Non esquezas asignar unha tecla á acción Ocultar barra de ferramentas para "
+"ver o inventario completo"
+
+#: backends/events/default/default-events.cpp:191
+msgid "Do you really want to return to the Launcher?"
+msgstr "Seguro que queres volver ao Iniciador?"
+
+#: backends/events/default/default-events.cpp:191
+msgid "Launcher"
+msgstr "Iniciador"
+
+#: backends/events/default/default-events.cpp:213
+msgid "Do you really want to quit?"
+msgstr "Seguro que queres saír?"
+
+#: backends/events/gph/gph-events.cpp:386
+#: backends/events/gph/gph-events.cpp:429
+#: backends/events/openpandora/op-events.cpp:139
+msgid "Touchscreen 'Tap Mode' - Left Click"
+msgstr "Modo pantalla táctil: premer botón primario"
+
+#: backends/events/gph/gph-events.cpp:388
+#: backends/events/gph/gph-events.cpp:431
+#: backends/events/openpandora/op-events.cpp:141
+msgid "Touchscreen 'Tap Mode' - Right Click"
+msgstr "Modo pantalla táctil: premer botón secundario"
+
+#: backends/events/gph/gph-events.cpp:390
+#: backends/events/gph/gph-events.cpp:433
+#: backends/events/openpandora/op-events.cpp:143
+msgid "Touchscreen 'Tap Mode' - Hover (No Click)"
+msgstr "Modo pantalla táctil: apuntar co rato"
+
+#: backends/events/gph/gph-events.cpp:410
+msgid "Maximum Volume"
+msgstr "Volume máximo"
+
+#: backends/events/gph/gph-events.cpp:412
+msgid "Increasing Volume"
+msgstr "Subindo volume"
+
+#: backends/events/gph/gph-events.cpp:418
+msgid "Minimal Volume"
+msgstr "Volume mínimo"
+
+#: backends/events/gph/gph-events.cpp:420
+msgid "Decreasing Volume"
+msgstr "Baixando volume"
+
+#: backends/updates/macosx/macosx-updates.mm:65
+msgid "Check for Updates..."
+msgstr "Buscar actualizacións..."
+
+#: backends/platform/bada/form.cpp:269
+msgid "Right Click Once"
+msgstr "Botón secundario unha vez"
+
+#: backends/platform/bada/form.cpp:277
+msgid "Move Only"
+msgstr "Mover unicamente"
+
+#: backends/platform/bada/form.cpp:291
+msgid "Escape Key"
+msgstr "ESC"
+
+#: backends/platform/bada/form.cpp:296
+msgid "Game Menu"
+msgstr "Menú do xogo"
+
+#: backends/platform/bada/form.cpp:301
+msgid "Show Keypad"
+msgstr "Mostrar teclado numérico"
+
+#: backends/platform/bada/form.cpp:309
+msgid "Control Mouse"
+msgstr "Rato"
+
+#: backends/events/maemosdl/maemosdl-events.cpp:192
+msgid "Clicking Enabled"
+msgstr "Premer activado"
+
+#: backends/events/maemosdl/maemosdl-events.cpp:192
+msgid "Clicking Disabled"
+msgstr "Premer desactivado"
diff --git a/video/avi_decoder.cpp b/video/avi_decoder.cpp
index 09b95d38ad..0d51f5b130 100644
--- a/video/avi_decoder.cpp
+++ b/video/avi_decoder.cpp
@@ -330,19 +330,25 @@ void AVIDecoder::readNextPacket() {
error("Cannot get track from tag '%s'", tag2str(nextTag));
uint32 chunkSize = _fileStream->readUint32LE();
- Common::SeekableReadStream *chunk = _fileStream->readStream(chunkSize);
- _fileStream->skip(chunkSize & 1);
+ Common::SeekableReadStream *chunk = 0;
+
+ if (chunkSize != 0) {
+ chunk = _fileStream->readStream(chunkSize);
+ _fileStream->skip(chunkSize & 1);
+ }
if (track->getTrackType() == Track::kTrackTypeAudio) {
if (getStreamType(nextTag) != MKTAG16('w', 'b'))
error("Invalid audio track tag '%s'", tag2str(nextTag));
+ assert(chunk);
((AVIAudioTrack *)track)->queueSound(chunk);
} else {
AVIVideoTrack *videoTrack = (AVIVideoTrack *)track;
if (getStreamType(nextTag) == MKTAG16('p', 'c')) {
// Palette Change
+ assert(chunk);
byte firstEntry = chunk->readByte();
uint16 numEntries = chunk->readByte();
chunk->readUint16LE(); // Reserved
@@ -387,8 +393,13 @@ AVIDecoder::AVIVideoTrack::~AVIVideoTrack() {
}
void AVIDecoder::AVIVideoTrack::decodeFrame(Common::SeekableReadStream *stream) {
- if (_videoCodec)
- _lastFrame = _videoCodec->decodeImage(stream);
+ if (stream) {
+ if (_videoCodec)
+ _lastFrame = _videoCodec->decodeImage(stream);
+ } else {
+ // Empty frame
+ _lastFrame = 0;
+ }
delete stream;
_curFrame++;
diff --git a/video/codecs/svq1.cpp b/video/codecs/svq1.cpp
index eba0c90305..14452ab15b 100644
--- a/video/codecs/svq1.cpp
+++ b/video/codecs/svq1.cpp
@@ -317,7 +317,7 @@ bool SVQ1Decoder::svq1DecodeBlockIntra(Common::BitStream *s, byte *pixels, int p
for (uint y = 0; y < height; y++)
memset(&dst[y * (pitch / 4)], mean, width);
} else {
- const uint32 *codebook = s_svq1IntraCodebooks[level];
+ const uint32 *codebook = (const uint32 *)s_svq1IntraCodebooks[level];
uint32 bitCache = s->getBits(stages * 4);
// calculate codebook entries for this vector
@@ -336,7 +336,7 @@ bool SVQ1Decoder::svq1DecodeBlockIntra(Common::BitStream *s, byte *pixels, int p
// add codebook entries to vector
for (int j = 0; j < stages; j++) {
- n3 = codebook[entries[j]] ^ 0x80808080;
+ n3 = READ_UINT32(&codebook[entries[j]]) ^ 0x80808080;
n1 += (n3 & 0xFF00FF00) >> 8;
n2 += n3 & 0x00FF00FF;
}
@@ -409,7 +409,7 @@ bool SVQ1Decoder::svq1DecodeBlockNonIntra(Common::BitStream *s, byte *pixels, in
}
int mean = _interMean->getSymbol(*s) - 256;
- const uint32 *codebook = s_svq1InterCodebooks[level];
+ const uint32 *codebook = (const uint32 *)s_svq1InterCodebooks[level];
uint32 bitCache = s->getBits(stages * 4);
// calculate codebook entries for this vector
@@ -430,7 +430,7 @@ bool SVQ1Decoder::svq1DecodeBlockNonIntra(Common::BitStream *s, byte *pixels, in
// add codebook entries to vector
for (int j = 0; j < stages; j++) {
- n3 = codebook[entries[j]] ^ 0x80808080;
+ n3 = READ_UINT32(&codebook[entries[j]]) ^ 0x80808080;
n1 += (n3 & 0xFF00FF00) >> 8;
n2 += n3 & 0x00FF00FF;
}
diff --git a/video/codecs/svq1_cb.h b/video/codecs/svq1_cb.h
index f9a8c54e40..8281b3fc28 100644
--- a/video/codecs/svq1_cb.h
+++ b/video/codecs/svq1_cb.h
@@ -30,1477 +30,1477 @@
namespace Video {
-static const uint32 s_svq1InterCodebook4x2[192] = {
- 0xf9fa0207, 0xfcfd0307, 0x0807fef9, 0x0403fcf8,
- 0x03091113, 0xf8f4f0f2, 0xfdf8f0ee, 0x080c0e0b,
- 0x14f6f007, 0x14f6ef07, 0xeb0812fa, 0xec0912f9,
- 0xf2ec0319, 0xf3ee071d, 0x0e15fce3, 0x0e14fae1,
- 0xe8e4e6ed, 0x0a16201f, 0x1c1f180f, 0xf3eae0e0,
- 0xe6e9f802, 0x231b03f7, 0x15150b03, 0xdee5fc08,
- 0x2f0ce1e2, 0x2f0de2e3, 0xd2ef1e26, 0xd2ed1a22,
- 0xd5cdced6, 0x30373022, 0x2a333630, 0xd1cbccd4,
- 0xfa000504, 0x0100fefe, 0xfefffaf5, 0x01090801,
- 0x05fa0100, 0x02f40108, 0x08f9f207, 0x0800f805,
- 0x080b0401, 0xfb00f8f4, 0x040001ff, 0x1003f8f1,
- 0xfafc0811, 0xf8f3fc09, 0xee010602, 0xf40b0bff,
- 0x00020006, 0xebf9060e, 0xecf3ff01, 0x150a0101,
- 0x0d07fbea, 0x0c04fff5, 0x130e00f9, 0xedfb03fc,
- 0x0f0af2e6, 0xfefa0412, 0xeefb1319, 0x0204f9ec,
- 0xfcfffaf3, 0xddfe2519, 0x01010405, 0x2b02dceb,
- 0x03fffe02, 0xfffafe08, 0x0c02fdfe, 0xfffefefb,
- 0xfbfffffd, 0xfe0807ff, 0xfd050702, 0xf8fd0101,
- 0xfefdfffd, 0x0d02fdfe, 0xfaf5000f, 0x00000003,
- 0xfcfbf7fa, 0x03010412, 0x0400030c, 0xfd03fdf0,
- 0x021203ef, 0xfffffdff, 0x00f810fa, 0x00f90ef7,
- 0xfb0ef303, 0xfc0ef303, 0xe90e14f9, 0x04f8f908,
- 0x10edf108, 0xfd0b0df6, 0x1a01ff09, 0x02e5f105,
- 0xfc1007ec, 0x011f09d8, 0xf9e2f41a, 0x04edfe28,
- 0x00000006, 0x0201fefa, 0xfa00ff00, 0xfffe0009,
- 0xfd0208f9, 0x02fd02ff, 0x04fefc07, 0xfa000002,
- 0x0209fefd, 0xfc00fffe, 0xfd00fdfd, 0x040a02fa,
- 0x08f60003, 0x04fc0000, 0x020401ff, 0x07f7f903,
- 0xfcf70102, 0x00000cff, 0xfc07ff03, 0x0204f203,
- 0x0b01f7f4, 0x00010502, 0x02000103, 0xed060800,
- 0xfcf9f6fa, 0x07050709, 0xfd031506, 0xfefbf7f5,
- 0xfff0f7fc, 0x2401fbfe, 0x00130b08, 0xd7fc0502,
- 0xfffeffff, 0x0601fefe, 0xf8010400, 0x00010101,
- 0x0004fdfe, 0xfd03ff02, 0x01fc0301, 0xfb0003ff,
- 0x03020403, 0xfffafdfe, 0x02fefdfe, 0x000108fc,
- 0x060204f9, 0x0001fff9, 0x01fc02fe, 0xff02fa08,
- 0x020002fa, 0xfff80405, 0x0900f5ff, 0x0202fe00,
- 0xfffcfb11, 0xfefefcff, 0xfd09f300, 0x02f90cff,
- 0x02fbfe00, 0xfd14fbf9, 0xe2ff0707, 0x01080503,
- 0xfcff03fa, 0x12f5fe02, 0x0e03f900, 0xf7eefd14,
- 0xff00fe07, 0xff0000fe, 0x0001fffc, 0x040002fe,
- 0x0102fd01, 0x01fb0103, 0xfeff00fd, 0xfd000107,
- 0xfe000502, 0x01fffb02, 0xff04feff, 0x0005fd00,
- 0xfeff0300, 0xff0501fc, 0x09ff00ff, 0xfffffeff,
- 0xff0505fe, 0xfefd02fe, 0x01f50201, 0x02030102,
- 0xfefff602, 0x01040204, 0x01fb0504, 0x01f50600,
- 0x06060001, 0xf1010200, 0x09050307, 0x020202e2,
- 0x020901de, 0x02080805, 0x06060207, 0x0401e502
+static const int8 s_svq1InterCodebook4x2[768] = {
+ 7, 2, -6, -7, 7, 3, -3, -4, -7, -2, 7, 8, -8, -4, 3, 4,
+ 19, 17, 9, 3,-14,-16,-12, -8,-18,-16, -8, -3, 11, 14, 12, 8,
+ 7,-16,-10, 20, 7,-17,-10, 20, -6, 18, 8,-21, -7, 18, 9,-20,
+ 25, 3,-20,-14, 29, 7,-18,-13,-29, -4, 21, 14,-31, -6, 20, 14,
+ -19,-26,-28,-24, 31, 32, 22, 10, 15, 24, 31, 28,-32,-32,-22,-13,
+ 2, -8,-23,-26, -9, 3, 27, 35, 3, 11, 21, 21, 8, -4,-27,-34,
+ -30,-31, 12, 47,-29,-30, 13, 47, 38, 30,-17,-46, 34, 26,-19,-46,
+ -42,-50,-51,-43, 34, 48, 55, 48, 48, 54, 51, 42,-44,-52,-53,-47,
+ 4, 5, 0, -6, -2, -2, 0, 1,-11, -6, -1, -2, 1, 8, 9, 1,
+ 0, 1, -6, 5, 8, 1,-12, 2, 7,-14, -7, 8, 5, -8, 0, 8,
+ 1, 4, 11, 8,-12, -8, 0, -5, -1, 1, 0, 4,-15, -8, 3, 16,
+ 17, 8, -4, -6, 9, -4,-13, -8, 2, 6, 1,-18, -1, 11, 11,-12,
+ 6, 0, 2, 0, 14, 6, -7,-21, 1, -1,-13,-20, 1, 1, 10, 21,
+ -22, -5, 7, 13,-11, -1, 4, 12, -7, 0, 14, 19, -4, 3, -5,-19,
+ -26,-14, 10, 15, 18, 4, -6, -2, 25, 19, -5,-18,-20, -7, 4, 2,
+ -13, -6, -1, -4, 25, 37, -2,-35, 5, 4, 1, 1,-21,-36, 2, 43,
+ 2, -2, -1, 3, 8, -2, -6, -1, -2, -3, 2, 12, -5, -2, -2, -1,
+ -3, -1, -1, -5, -1, 7, 8, -2, 2, 7, 5, -3, 1, 1, -3, -8,
+ -3, -1, -3, -2, -2, -3, 2, 13, 15, 0,-11, -6, 3, 0, 0, 0,
+ -6, -9, -5, -4, 18, 4, 1, 3, 12, 3, 0, 4,-16, -3, 3, -3,
+ -17, 3, 18, 2, -1, -3, -1, -1, -6, 16, -8, 0, -9, 14, -7, 0,
+ 3,-13, 14, -5, 3,-13, 14, -4, -7, 20, 14,-23, 8, -7, -8, 4,
+ 8,-15,-19, 16,-10, 13, 11, -3, 9, -1, 1, 26, 5,-15,-27, 2,
+ -20, 7, 16, -4,-40, 9, 31, 1, 26,-12,-30, -7, 40, -2,-19, 4,
+ 6, 0, 0, 0, -6, -2, 1, 2, 0, -1, 0, -6, 9, 0, -2, -1,
+ -7, 8, 2, -3, -1, 2, -3, 2, 7, -4, -2, 4, 2, 0, 0, -6,
+ -3, -2, 9, 2, -2, -1, 0, -4, -3, -3, 0, -3, -6, 2, 10, 4,
+ 3, 0,-10, 8, 0, 0, -4, 4, -1, 1, 4, 2, 3, -7, -9, 7,
+ 2, 1, -9, -4, -1, 12, 0, 0, 3, -1, 7, -4, 3,-14, 4, 2,
+ -12, -9, 1, 11, 2, 5, 1, 0, 3, 1, 0, 2, 0, 8, 6,-19,
+ -6,-10, -7, -4, 9, 7, 5, 7, 6, 21, 3, -3,-11, -9, -5, -2,
+ -4, -9,-16, -1, -2, -5, 1, 36, 8, 11, 19, 0, 2, 5, -4,-41,
+ -1, -1, -2, -1, -2, -2, 1, 6, 0, 4, 1, -8, 1, 1, 1, 0,
+ -2, -3, 4, 0, 2, -1, 3, -3, 1, 3, -4, 1, -1, 3, 0, -5,
+ 3, 4, 2, 3, -2, -3, -6, -1, -2, -3, -2, 2, -4, 8, 1, 0,
+ -7, 4, 2, 6, -7, -1, 1, 0, -2, 2, -4, 1, 8, -6, 2, -1,
+ -6, 2, 0, 2, 5, 4, -8, -1, -1,-11, 0, 9, 0, -2, 2, 2,
+ 17, -5, -4, -1, -1, -4, -2, -2, 0,-13, 9, -3, -1, 12, -7, 2,
+ 0, -2, -5, 2, -7, -5, 20, -3, 7, 7, -1,-30, 3, 5, 8, 1,
+ -6, 3, -1, -4, 2, -2,-11, 18, 0, -7, 3, 14, 20, -3,-18, -9,
+ 7, -2, 0, -1, -2, 0, 0, -1, -4, -1, 1, 0, -2, 2, 0, 4,
+ 1, -3, 2, 1, 3, 1, -5, 1, -3, 0, -1, -2, 7, 1, 0, -3,
+ 2, 5, 0, -2, 2, -5, -1, 1, -1, -2, 4, -1, 0, -3, 5, 0,
+ 0, 3, -1, -2, -4, 1, 5, -1, -1, 0, -1, 9, -1, -2, -1, -1,
+ -2, 5, 5, -1, -2, 2, -3, -2, 1, 2,-11, 1, 2, 1, 3, 2,
+ 2,-10, -1, -2, 4, 2, 4, 1, 4, 5, -5, 1, 0, 6,-11, 1,
+ 1, 0, 6, 6, 0, 2, 1,-15, 7, 3, 5, 9,-30, 2, 2, 2,
+ -34, 1, 9, 2, 5, 8, 8, 2, 7, 2, 6, 6, 2,-27, 1, 4
};
-static const uint32 s_svq1InterCodebook4x4[384] = {
- 0xf9fa0004, 0xf7f3f8fc, 0x06fff8f8, 0x1b1605fe,
- 0x0a0bf9f0, 0x0a0df9ee, 0x080cfcf1, 0x0509fff7,
- 0xf00f02fe, 0xed1302fd, 0xed1302fd, 0xf20f03fe,
- 0x10161611, 0xfefbf9fa, 0xf4f0f0f4, 0xfdff0101,
- 0x0800ef0b, 0x09ffeb0e, 0x08feeb0e, 0x06fef00b,
- 0x0bf0fe07, 0x0eebfe09, 0x0eeaff0a, 0x0aeeff08,
- 0xf70310f6, 0xf50414f3, 0xf60415f2, 0xf80310f5,
- 0xf7f7040b, 0xf2f4060f, 0xf2f40811, 0xf5f90a10,
- 0x0d0e0a04, 0x100f07ff, 0x0803f9f4, 0xf6eee9ec,
- 0xe7e6eef6, 0xf5fa0104, 0x030b0f0d, 0x080d0f0c,
- 0xf5f0edf0, 0x0b0f0c07, 0x0b10100b, 0xf6f5f7fa,
- 0x050c1312, 0xfc051012, 0xf1f60006, 0xeae9eff7,
- 0x15fff2f6, 0x1d00eff5, 0x1e01f0f5, 0x1700f2f6,
- 0xfaf4eff0, 0xf9f2eded, 0x0201fffd, 0x131d231b,
- 0x1717f8db, 0x1d1cf7d6, 0x1c1af6d5, 0x1613f5da,
- 0xdff01020, 0xdbee1427, 0xdaed1326, 0xdeef0f20,
- 0xfcfa0918, 0x03faf6ff, 0x03fff7f8, 0xfa020703,
- 0x00fffdff, 0xf90204ff, 0xf0030bfd, 0xee091401,
- 0x0c06f8fd, 0x0d07f6fb, 0x0705f7fa, 0xff02fbfb,
- 0xfffd0cf8, 0x01fd0ff6, 0x01fc0df5, 0x02fd08f5,
- 0xf4fb0609, 0xf3f80003, 0xfffffcfc, 0x120f01fc,
- 0x0c0e0d09, 0xfeff0304, 0xfbf8fbfe, 0xfcf7f5f9,
- 0xfcf9fb07, 0xfcf9fe0e, 0xfbf80011, 0xfbf9010f,
- 0x0406fff6, 0x0402f7f1, 0x00fdff02, 0xf6f80d19,
- 0xf0fd0b07, 0xf1fd0b07, 0xf7fe0706, 0xfbfd0204,
- 0x00fffff9, 0x0602fef7, 0x0e06fcf4, 0x1308faf3,
- 0xfbf5eeee, 0x040300fd, 0x06060806, 0x06060606,
- 0xf60d03fb, 0xf70f01fa, 0xfa0ffdfa, 0xfd0afafa,
- 0xf7f70109, 0x0506090b, 0x07080300, 0xfbfaf2f1,
- 0x130bfaf5, 0xf8f7fbfe, 0xf6f70206, 0x05040506,
- 0x0f08fdf9, 0x0f0a03ff, 0xfeff0505, 0xe7ebfe04,
- 0x05fafa06, 0x09f9f708, 0x0df9f408, 0x0ef9f204,
- 0x0101fdfc, 0xfdfefbfd, 0xfcfe0007, 0xfcfc0714,
- 0x0afaecfd, 0x01000006, 0xff050805, 0xfe0000fd,
- 0x02ff060d, 0x03020305, 0x000300fd, 0xfbfef8f0,
- 0x00faf9fe, 0x01fdfafd, 0xff02fffb, 0x05100cff,
- 0x080901f9, 0x0305fef6, 0x030702fa, 0xf9ff00fc,
- 0xe8f70403, 0x03060200, 0x0704ffff, 0xfeff0305,
- 0x02f70603, 0x01f30601, 0x02f60801, 0x01f90801,
- 0x1602fdfd, 0x0cfbfdfe, 0x02f6fdfe, 0x02fcfffd,
- 0x02080c0b, 0xf8fbfbfb, 0xfd00fcfa, 0x0303fffe,
- 0xfffefa0c, 0xfefef80c, 0xfd00f909, 0xfe02fa04,
- 0xfd0c01ed, 0xfc0504fc, 0xfffe0106, 0x07fefc04,
- 0xf8f9fcfd, 0x00fefcfc, 0x100e02ff, 0x0404fefc,
- 0xfb0207ff, 0x01ff00fe, 0x0dfffd04, 0x08f2f406,
- 0xfb0405ff, 0xf70305fe, 0xf40407fe, 0xf70407ff,
- 0x0101fdfa, 0xfa000b0b, 0xf9fe0406, 0x0a03f6f4,
- 0xfefdfdfe, 0x0a0e0b06, 0xf6f6f5f7, 0x02030202,
- 0xfff9fbf9, 0x070002ff, 0x090001ff, 0xfffb0403,
- 0xfff1ff0a, 0x02fb0104, 0x01ff01fd, 0x040401fd,
- 0x0a04ff02, 0x00ff0206, 0xf4f90202, 0xfd0002fc,
- 0xf8fffcff, 0xf702ff03, 0xfb050004, 0x03080002,
- 0x01010203, 0x0300fe04, 0x0104ff02, 0xe7ff0600,
- 0xfcfefeff, 0xfcff00fd, 0x02fcffff, 0x1902fa00,
- 0x0005fff5, 0x02fe0007, 0x04fdff0a, 0xfffefbfb,
- 0xff030600, 0x01fffffe, 0xfbf4f9ff, 0x04020608,
- 0xfaff0602, 0xfcff0a09, 0x00fc0001, 0xfbf7fe03,
- 0x000403fc, 0x000303fc, 0x020300f5, 0x020703f5,
- 0x0307fc02, 0x0107f801, 0x0104f4ff, 0x0202f703,
- 0x09fefe02, 0x0103fdef, 0xfa0107fc, 0x03ff0405,
- 0xfc0002ff, 0xff0c08f9, 0xfb0405fe, 0xfef8fb03,
- 0xfefb0000, 0x1b03f8fe, 0x06fdfcff, 0xf9fe01fd,
- 0xff010404, 0xfdf9f6f9, 0x03050a0a, 0xfdfcfefe,
- 0x07050100, 0xecf0fe04, 0x08070400, 0xfffe0002,
- 0x110301fe, 0xfffe01fd, 0xfefffeff, 0x00fffbff,
- 0x0001fd05, 0x0000fe06, 0xfd00feff, 0xff0801f5,
- 0x00000003, 0x01040200, 0x01060002, 0x02fdeefe,
- 0x010600f2, 0x01fffefb, 0x010001ff, 0x00040701,
- 0xfc0100ff, 0xfc030801, 0x030104fd, 0x01fc01fa,
- 0x0303f401, 0xff00f6ff, 0x01020002, 0x04020203,
- 0x03000003, 0x01fe0002, 0x00fb0205, 0xfff2ff06,
- 0xfdfdfafe, 0x0504ff02, 0x00feff06, 0xfbff0404,
- 0x00f501fc, 0x01fc02ff, 0xff03fd02, 0x000ffe01,
- 0xfe00ff01, 0x01f9fc01, 0x15fffafe, 0x01ff02fe,
- 0x00feff15, 0xfe01fdff, 0xff02fef7, 0xfffc0102,
- 0xfa020801, 0x0004fff6, 0x0303fdfc, 0xffff0005,
- 0xfe010203, 0x0304fefe, 0xeffc0205, 0x0304fe00,
- 0x0300fcf9, 0xff020909, 0xff00faf5, 0x01000105,
- 0xf5051100, 0x00fafe03, 0x01fcfe02, 0xff0201fc,
- 0xfdfbfffb, 0xfefd05fd, 0xfb021004, 0xffff05fe,
- 0x01fc0000, 0x0b0502ff, 0x01feffff, 0xfffdfefc,
- 0x000afffb, 0xfd000106, 0x0001fc00, 0xff03fcfe,
- 0x00030906, 0x00fe01fe, 0xfefefdfe, 0xfa010001,
- 0x01020001, 0x01fe03ff, 0x00f1ff00, 0x060205ff,
- 0x02020002, 0x06fcf400, 0xff040100, 0xfc010201,
- 0x00f9fe01, 0xff000000, 0x030b02fb, 0xfa000301,
- 0xfcf7fd00, 0x00ff0301, 0x00fe0104, 0x06fffd07,
- 0x0206fe01, 0xfe03ff00, 0x020004fe, 0x02f202ff,
- 0xff000202, 0xf2fd03fe, 0xfd030200, 0x02030105,
- 0xf204fd01, 0xff0bfe01, 0x0003ff00, 0x020001ff,
- 0x02fd03fe, 0x03fcfffc, 0x030102ff, 0x0702fefa,
- 0x000201fe, 0xff0000fe, 0x02ff050c, 0xf901fff8,
- 0x02fcfe02, 0xfef5000b, 0xfffd0103, 0xff010300,
- 0xfe000300, 0xfdfffa00, 0x00fef90c, 0x0101fe07,
- 0x02020201, 0x020002ff, 0x000400e9, 0x03010203,
- 0x05fffbfc, 0xff0a05fd, 0xfc030000, 0xfb02ff01
+static const int8 s_svq1InterCodebook4x4[1536] = {
+ 4, 0, -6, -7, -4, -8,-13, -9, -8, -8, -1, 6, -2, 5, 22, 27,
+ -16, -7, 11, 10,-18, -7, 13, 10,-15, -4, 12, 8, -9, -1, 9, 5,
+ -2, 2, 15,-16, -3, 2, 19,-19, -3, 2, 19,-19, -2, 3, 15,-14,
+ 17, 22, 22, 16, -6, -7, -5, -2,-12,-16,-16,-12, 1, 1, -1, -3,
+ 11,-17, 0, 8, 14,-21, -1, 9, 14,-21, -2, 8, 11,-16, -2, 6,
+ 7, -2,-16, 11, 9, -2,-21, 14, 10, -1,-22, 14, 8, -1,-18, 10,
+ -10, 16, 3, -9,-13, 20, 4,-11,-14, 21, 4,-10,-11, 16, 3, -8,
+ 11, 4, -9, -9, 15, 6,-12,-14, 17, 8,-12,-14, 16, 10, -7,-11,
+ 4, 10, 14, 13, -1, 7, 15, 16,-12, -7, 3, 8,-20,-23,-18,-10,
+ -10,-18,-26,-25, 4, 1, -6,-11, 13, 15, 11, 3, 12, 15, 13, 8,
+ -16,-19,-16,-11, 7, 12, 15, 11, 11, 16, 16, 11, -6, -9,-11,-10,
+ 18, 19, 12, 5, 18, 16, 5, -4, 6, 0,-10,-15, -9,-17,-23,-22,
+ -10,-14, -1, 21,-11,-17, 0, 29,-11,-16, 1, 30,-10,-14, 0, 23,
+ -16,-17,-12, -6,-19,-19,-14, -7, -3, -1, 1, 2, 27, 35, 29, 19,
+ -37, -8, 23, 23,-42, -9, 28, 29,-43,-10, 26, 28,-38,-11, 19, 22,
+ 32, 16,-16,-33, 39, 20,-18,-37, 38, 19,-19,-38, 32, 15,-17,-34,
+ 24, 9, -6, -4, -1,-10, -6, 3, -8, -9, -1, 3, 3, 7, 2, -6,
+ -1, -3, -1, 0, -1, 4, 2, -7, -3, 11, 3,-16, 1, 20, 9,-18,
+ -3, -8, 6, 12, -5,-10, 7, 13, -6, -9, 5, 7, -5, -5, 2, -1,
+ -8, 12, -3, -1,-10, 15, -3, 1,-11, 13, -4, 1,-11, 8, -3, 2,
+ 9, 6, -5,-12, 3, 0, -8,-13, -4, -4, -1, -1, -4, 1, 15, 18,
+ 9, 13, 14, 12, 4, 3, -1, -2, -2, -5, -8, -5, -7,-11, -9, -4,
+ 7, -5, -7, -4, 14, -2, -7, -4, 17, 0, -8, -5, 15, 1, -7, -5,
+ -10, -1, 6, 4,-15, -9, 2, 4, 2, -1, -3, 0, 25, 13, -8,-10,
+ 7, 11, -3,-16, 7, 11, -3,-15, 6, 7, -2, -9, 4, 2, -3, -5,
+ -7, -1, -1, 0, -9, -2, 2, 6,-12, -4, 6, 14,-13, -6, 8, 19,
+ -18,-18,-11, -5, -3, 0, 3, 4, 6, 8, 6, 6, 6, 6, 6, 6,
+ -5, 3, 13,-10, -6, 1, 15, -9, -6, -3, 15, -6, -6, -6, 10, -3,
+ 9, 1, -9, -9, 11, 9, 6, 5, 0, 3, 8, 7,-15,-14, -6, -5,
+ -11, -6, 11, 19, -2, -5, -9, -8, 6, 2, -9,-10, 6, 5, 4, 5,
+ -7, -3, 8, 15, -1, 3, 10, 15, 5, 5, -1, -2, 4, -2,-21,-25,
+ 6, -6, -6, 5, 8, -9, -7, 9, 8,-12, -7, 13, 4,-14, -7, 14,
+ -4, -3, 1, 1, -3, -5, -2, -3, 7, 0, -2, -4, 20, 7, -4, -4,
+ -3,-20, -6, 10, 6, 0, 0, 1, 5, 8, 5, -1, -3, 0, 0, -2,
+ 13, 6, -1, 2, 5, 3, 2, 3, -3, 0, 3, 0,-16, -8, -2, -5,
+ -2, -7, -6, 0, -3, -6, -3, 1, -5, -1, 2, -1, -1, 12, 16, 5,
+ -7, 1, 9, 8,-10, -2, 5, 3, -6, 2, 7, 3, -4, 0, -1, -7,
+ 3, 4, -9,-24, 0, 2, 6, 3, -1, -1, 4, 7, 5, 3, -1, -2,
+ 3, 6, -9, 2, 1, 6,-13, 1, 1, 8,-10, 2, 1, 8, -7, 1,
+ -3, -3, 2, 22, -2, -3, -5, 12, -2, -3,-10, 2, -3, -1, -4, 2,
+ 11, 12, 8, 2, -5, -5, -5, -8, -6, -4, 0, -3, -2, -1, 3, 3,
+ 12, -6, -2, -1, 12, -8, -2, -2, 9, -7, 0, -3, 4, -6, 2, -2,
+ -19, 1, 12, -3, -4, 4, 5, -4, 6, 1, -2, -1, 4, -4, -2, 7,
+ -3, -4, -7, -8, -4, -4, -2, 0, -1, 2, 14, 16, -4, -2, 4, 4,
+ -1, 7, 2, -5, -2, 0, -1, 1, 4, -3, -1, 13, 6,-12,-14, 8,
+ -1, 5, 4, -5, -2, 5, 3, -9, -2, 7, 4,-12, -1, 7, 4, -9,
+ -6, -3, 1, 1, 11, 11, 0, -6, 6, 4, -2, -7,-12,-10, 3, 10,
+ -2, -3, -3, -2, 6, 11, 14, 10, -9,-11,-10,-10, 2, 2, 3, 2,
+ -7, -5, -7, -1, -1, 2, 0, 7, -1, 1, 0, 9, 3, 4, -5, -1,
+ 10, -1,-15, -1, 4, 1, -5, 2, -3, 1, -1, 1, -3, 1, 4, 4,
+ 2, -1, 4, 10, 6, 2, -1, 0, 2, 2, -7,-12, -4, 2, 0, -3,
+ -1, -4, -1, -8, 3, -1, 2, -9, 4, 0, 5, -5, 2, 0, 8, 3,
+ 3, 2, 1, 1, 4, -2, 0, 3, 2, -1, 4, 1, 0, 6, -1,-25,
+ -1, -2, -2, -4, -3, 0, -1, -4, -1, -1, -4, 2, 0, -6, 2, 25,
+ -11, -1, 5, 0, 7, 0, -2, 2, 10, -1, -3, 4, -5, -5, -2, -1,
+ 0, 6, 3, -1, -2, -1, -1, 1, -1, -7,-12, -5, 8, 6, 2, 4,
+ 2, 6, -1, -6, 9, 10, -1, -4, 1, 0, -4, 0, 3, -2, -9, -5,
+ -4, 3, 4, 0, -4, 3, 3, 0,-11, 0, 3, 2,-11, 3, 7, 2,
+ 2, -4, 7, 3, 1, -8, 7, 1, -1,-12, 4, 1, 3, -9, 2, 2,
+ 2, -2, -2, 9,-17, -3, 3, 1, -4, 7, 1, -6, 5, 4, -1, 3,
+ -1, 2, 0, -4, -7, 8, 12, -1, -2, 5, 4, -5, 3, -5, -8, -2,
+ 0, 0, -5, -2, -2, -8, 3, 27, -1, -4, -3, 6, -3, 1, -2, -7,
+ 4, 4, 1, -1, -7,-10, -7, -3, 10, 10, 5, 3, -2, -2, -4, -3,
+ 0, 1, 5, 7, 4, -2,-16,-20, 0, 4, 7, 8, 2, 0, -2, -1,
+ -2, 1, 3, 17, -3, 1, -2, -1, -1, -2, -1, -2, -1, -5, -1, 0,
+ 5, -3, 1, 0, 6, -2, 0, 0, -1, -2, 0, -3,-11, 1, 8, -1,
+ 3, 0, 0, 0, 0, 2, 4, 1, 2, 0, 6, 1, -2,-18, -3, 2,
+ -14, 0, 6, 1, -5, -2, -1, 1, -1, 1, 0, 1, 1, 7, 4, 0,
+ -1, 0, 1, -4, 1, 8, 3, -4, -3, 4, 1, 3, -6, 1, -4, 1,
+ 1,-12, 3, 3, -1,-10, 0, -1, 2, 0, 2, 1, 3, 2, 2, 4,
+ 3, 0, 0, 3, 2, 0, -2, 1, 5, 2, -5, 0, 6, -1,-14, -1,
+ -2, -6, -3, -3, 2, -1, 4, 5, 6, -1, -2, 0, 4, 4, -1, -5,
+ -4, 1,-11, 0, -1, 2, -4, 1, 2, -3, 3, -1, 1, -2, 15, 0,
+ 1, -1, 0, -2, 1, -4, -7, 1, -2, -6, -1, 21, -2, 2, -1, 1,
+ 21, -1, -2, 0, -1, -3, 1, -2, -9, -2, 2, -1, 2, 1, -4, -1,
+ 1, 8, 2, -6,-10, -1, 4, 0, -4, -3, 3, 3, 5, 0, -1, -1,
+ 3, 2, 1, -2, -2, -2, 4, 3, 5, 2, -4,-17, 0, -2, 4, 3,
+ -7, -4, 0, 3, 9, 9, 2, -1,-11, -6, 0, -1, 5, 1, 0, 1,
+ 0, 17, 5,-11, 3, -2, -6, 0, 2, -2, -4, 1, -4, 1, 2, -1,
+ -5, -1, -5, -3, -3, 5, -3, -2, 4, 16, 2, -5, -2, 5, -1, -1,
+ 0, 0, -4, 1, -1, 2, 5, 11, -1, -1, -2, 1, -4, -2, -3, -1,
+ -5, -1, 10, 0, 6, 1, 0, -3, 0, -4, 1, 0, -2, -4, 3, -1,
+ 6, 9, 3, 0, -2, 1, -2, 0, -2, -3, -2, -2, 1, 0, 1, -6,
+ 1, 0, 2, 1, -1, 3, -2, 1, 0, -1,-15, 0, -1, 5, 2, 6,
+ 2, 0, 2, 2, 0,-12, -4, 6, 0, 1, 4, -1, 1, 2, 1, -4,
+ 1, -2, -7, 0, 0, 0, 0, -1, -5, 2, 11, 3, 1, 3, 0, -6,
+ 0, -3, -9, -4, 1, 3, -1, 0, 4, 1, -2, 0, 7, -3, -1, 6,
+ 1, -2, 6, 2, 0, -1, 3, -2, -2, 4, 0, 2, -1, 2,-14, 2,
+ 2, 2, 0, -1, -2, 3, -3,-14, 0, 2, 3, -3, 5, 1, 3, 2,
+ 1, -3, 4,-14, 1, -2, 11, -1, 0, -1, 3, 0, -1, 1, 0, 2,
+ -2, 3, -3, 2, -4, -1, -4, 3, -1, 2, 1, 3, -6, -2, 2, 7,
+ -2, 1, 2, 0, -2, 0, 0, -1, 12, 5, -1, 2, -8, -1, 1, -7,
+ 2, -2, -4, 2, 11, 0,-11, -2, 3, 1, -3, -1, 0, 3, 1, -1,
+ 0, 3, 0, -2, 0, -6, -1, -3, 12, -7, -2, 0, 7, -2, 1, 1,
+ 1, 2, 2, 2, -1, 2, 0, 2,-23, 0, 4, 0, 3, 2, 1, 3,
+ -4, -5, -1, 5, -3, 5, 10, -1, 0, 0, 3, -4, 1, -1, 2, -5
};
-static const uint32 s_svq1InterCodebook8x4[768] = {
- 0x00040809, 0xfdfcfcfd, 0xff040809, 0xfdfbfbfc,
- 0xfe030708, 0xfcfbfbfb, 0xfe010406, 0xfdfcfbfc,
- 0xfcf5f2f4, 0x06060501, 0xfbf9f6f8, 0x010101fe,
- 0x01030405, 0xffff0000, 0x06090d0d, 0xfeff0003,
- 0xfffdfcfc, 0x0b080401, 0xfefcfafb, 0x0c080300,
- 0xfcfaf9f9, 0x0a0702fe, 0xfcfbf9f9, 0x080501fe,
- 0x01fffefd, 0x06070603, 0x07050302, 0x04060808,
- 0x03040504, 0xf9fafe01, 0xf9fe0001, 0xf0eff2f6,
- 0x0801fcfb, 0xf9fd0309, 0x0b01faf9, 0xf8fd050c,
- 0x0900f9f8, 0xf9fd050b, 0x05fffaf8, 0xfafe0408,
- 0xf8f9fbfc, 0xfaf8f7f7, 0xf9fafbfc, 0xfefcfaf9,
- 0x03020100, 0x090a0805, 0x06030201, 0x0d0e0c09,
- 0x05060605, 0x01020304, 0x07070605, 0x04060606,
- 0x010100ff, 0x05050503, 0xefeff0f3, 0xfcfaf6f2,
- 0x100d0b09, 0x0a0c0d0f, 0xf9fafbfc, 0xfbfaf9f9,
- 0xf9f9fafa, 0xfbfaf9f9, 0x0000fffe, 0xff000000,
- 0xf0f1f3f5, 0xf6f4f2f0, 0x05040302, 0x03030304,
- 0x08080706, 0x05060708, 0x03030403, 0x03030303,
- 0x01040403, 0xeff3f9fe, 0x05070705, 0xedf3fb01,
- 0x08090806, 0xf0f7ff05, 0x0a0a0806, 0xf5fc0207,
- 0xf6ff0912, 0x00fcf7f3, 0xf4ff0c16, 0x02fcf6f1,
- 0xf6000d17, 0x02fdf7f3, 0xfa020c14, 0x02fefaf7,
- 0xf9fafafa, 0xfaf9f9f9, 0xf8f8f9fa, 0xf8f7f7f7,
- 0xfdfdfdfd, 0xfdfdfdfd, 0x15120f0c, 0x0e111315,
- 0x1212100e, 0x0d0f1012, 0x05060605, 0x03040405,
- 0xf6f7f9fa, 0xf9f7f6f6, 0xf2f3f5f6, 0xf6f4f3f2,
- 0x05fcefe5, 0x070a0a09, 0x07fdede0, 0x080b0c0b,
- 0x08fef0e2, 0x070a0c0c, 0x0700f4e9, 0x06090b0a,
- 0x0c101110, 0xf4f8ff06, 0x0a0f1211, 0xeef1f801,
- 0x040a0e0f, 0xe9ecf2fb, 0xff04080a, 0xeaebf0f7,
- 0xf5f4f4f6, 0x140e04fb, 0xf4f1f3f5, 0x1b1307fc,
- 0xf5f2f3f5, 0x1c1508fd, 0xf7f4f5f6, 0x191208fe,
- 0x01ffffff, 0x05060604, 0x02000000, 0xfe010304,
- 0x04020000, 0xf6f9ff04, 0x05030000, 0xf1f5fd03,
- 0xfff8f3f2, 0xfcff0303, 0x04fffcfb, 0x00030808,
- 0x03020203, 0x01030504, 0xfe000305, 0xfffffffe,
- 0xfafa0109, 0xfffefdfb, 0xfafa010c, 0x00fffefc,
- 0xfcfc040e, 0xfffffefe, 0xffff060e, 0xffffffff,
- 0x0a080604, 0x0507090b, 0x00ffffff, 0xfeffff00,
- 0xfbfcfcfe, 0xfcfbfbfb, 0xfcfdfdfe, 0xfffefdfc,
- 0x04040302, 0x00000103, 0x050401ff, 0x03040506,
- 0x02fefaf8, 0x03040403, 0xfbf7f3f2, 0x0000fffe,
- 0xfcfbfcfd, 0x0d0c0700, 0xfbfbfcfd, 0x0a0904fe,
- 0xfbfcfdfe, 0x0403fffc, 0xfdfeffff, 0x0100fefd,
- 0xf8fe0509, 0xfcf9f6f5, 0x02060a0c, 0x0000ff00,
- 0x04030202, 0x01010103, 0x00fcf8f7, 0x00010201,
- 0x05080806, 0xf3f5fb01, 0x02020100, 0xf5f8fcff,
- 0x0301fefd, 0xfcff0103, 0x0502fffe, 0x01040606,
- 0x05050403, 0xfafd0104, 0x02040605, 0xfd000202,
- 0xfb000506, 0xfefffefb, 0xf5fd0407, 0xfefdf9f4,
- 0xffff0001, 0x000000ff, 0x04040302, 0x03040505,
- 0xf6f7f7f9, 0xfaf9f7f6, 0x06050403, 0x05050505,
- 0xf9f9f9f9, 0xfcfbfafa, 0xfffdfcfb, 0x0000ffff,
- 0x0401fefd, 0x05050505, 0x0603fffe, 0x090a0a09,
- 0x030a01f2, 0x010100fe, 0x030d02f0, 0x0001fffd,
- 0x030c02f1, 0x0101fefc, 0x020a03f6, 0x0101fffd,
- 0x02040100, 0x0bfdf6fb, 0x020401ff, 0x0ffef3fa,
- 0x010300ff, 0x0ffff4fa, 0x010201ff, 0x0b00f8fc,
- 0xfefe050a, 0xfc010502, 0xfaf80007, 0xfc020501,
- 0xf9f4fb02, 0xff040702, 0xfcf6f9ff, 0x02070904,
- 0xfafcfbfb, 0xfdfbfbfa, 0xfcfefeff, 0xfcfbfafb,
- 0x04070706, 0xfdfdfe00, 0x0a0d0e0d, 0xfeff0105,
- 0x02020101, 0x02020202, 0xf7f8fafb, 0xfaf9f8f7,
- 0x0b0a0907, 0x0507090b, 0xfdfdfeff, 0xfdfcfcfc,
- 0x0000ffff, 0xffff0000, 0xfbfcfdfd, 0xfefdfdfc,
- 0xfdff0102, 0x00fffefd, 0x03080c0c, 0x01000001,
- 0xfaf8f8fa, 0x080602fe, 0xfeff0101, 0x07050300,
- 0xff010303, 0x020000ff, 0xff000100, 0xfffeffff,
- 0x00000001, 0x04020000, 0x04030102, 0x02000103,
- 0x00000102, 0x0300ffff, 0xf4fa0105, 0x04fff8f3,
- 0xfeff00fe, 0x030200ff, 0x00fefdfa, 0x01010101,
- 0x0400fbf7, 0x00010305, 0x0703fdf8, 0x00010408,
- 0x03020201, 0xfdff0103, 0x06050504, 0x00020506,
- 0x00000000, 0xfcfe0001, 0xfdfcfdfd, 0xf8f9fcfd,
- 0xff060c0e, 0x0000fdfd, 0xfd010507, 0xfffefcfb,
- 0xfefefefe, 0xfffffefe, 0x01fffcfa, 0xff000101,
- 0xfd010202, 0xfdfaf9fa, 0xfdff0001, 0x060401fe,
- 0x02010000, 0x07080704, 0x00000000, 0xf8f9fcff,
- 0xfe010200, 0xfffefdfd, 0xfd0001ff, 0x0200fefb,
- 0xfbfefffe, 0x090601fc, 0xfcfdfefd, 0x0d0b05fe,
- 0x0602fefc, 0xf2f6fd04, 0x0401fffe, 0xfeff0104,
- 0xfeff0000, 0x060400fe, 0xfd000202, 0x090500fd,
- 0x01fefcfc, 0xf9030906, 0xfffefefe, 0xf5000804,
- 0x00000101, 0xf6ff0602, 0x00010202, 0xf9000402,
- 0xfafdfeff, 0xf8f8f8f9, 0x01030302, 0xfcfdfeff,
- 0x04050505, 0xff000203, 0x03030303, 0x01010202,
- 0xfe020303, 0x0a0700fd, 0xfe020201, 0x0300fcfb,
- 0x02040300, 0xfcfafbfd, 0x04040200, 0xf9f9fc01,
- 0x05050402, 0x06060505, 0xfbfdfcfc, 0xfefdfdfb,
- 0xfbfcfcfd, 0xfefefefc, 0x00000101, 0x04050402,
- 0x040300fe, 0x02020304, 0x00fcf9f7, 0x06060603,
- 0xfefdfbfb, 0x04030100, 0xfe020505, 0xfdfbfafc,
- 0x07fcfa01, 0x01fefe05, 0x06fcfb05, 0x01fcfb04,
- 0x06fcfb05, 0x01fdfb04, 0x08fdf901, 0x01fdff07,
- 0x00fcf9f8, 0x05050402, 0x02050605, 0xf9f9fbff,
- 0x01040605, 0xfbfafbfd, 0xfefbf9f9, 0x0a090601,
- 0x01000306, 0xf2f80003, 0x01ff0003, 0xfc000304,
- 0x01000001, 0x01010102, 0x0201ffff, 0x00ffff01,
- 0x01010101, 0x00fdfe00, 0x00010201, 0xfcf7f8fe,
- 0x02030301, 0x01fdfd01, 0x01010100, 0x08040101,
- 0x07090502, 0x01ffff02, 0x0001fffc, 0x02fffcfd,
- 0x030300fd, 0x0200ff00, 0x0101fffc, 0xfcfbfcfe,
- 0xfefeff01, 0x050402ff, 0x00010102, 0x0000ffff,
- 0x05040302, 0x00010204, 0xfdfaf7f7, 0xffffffff,
- 0x0704fafa, 0xfefffe00, 0x0605feff, 0xff00feff,
- 0x0001ff04, 0xfe00fefc, 0xfeff0107, 0x010301fd,
- 0x03010204, 0x02010103, 0x00fcfe02, 0x00000103,
- 0xfcf8fc01, 0x00010201, 0xfaf7fd02, 0x02030300,
- 0xff00ffff, 0x020100ff, 0xf8fc0103, 0x0201fdf9,
- 0xfefdff02, 0x000100ff, 0x0b0500ff, 0xfdff0309,
- 0xfffefeff, 0x01010101, 0x0300ff00, 0x05050606,
- 0xffff0102, 0xfcfafbfe, 0x01020202, 0xfbfbfcff,
- 0xf9fafdff, 0x01fffcfa, 0x04030505, 0x05040304,
- 0xfefdfeff, 0x0100fefe, 0x00000000, 0x03020100,
- 0xfffcfafa, 0x02020202, 0xfefbf9fa, 0x00ffff00,
- 0x04020202, 0x04030304, 0xff000102, 0x04020000,
- 0xf8fb050c, 0x020200fb, 0xfdfafd02, 0xfeff0000,
- 0x03fffdfe, 0xfdfe0104, 0x04030202, 0xffff0103,
- 0x00010203, 0x00030401, 0xfb000304, 0x030300fa,
- 0xf9010302, 0x0301faf4, 0xff040301, 0x0100fcfa,
- 0x0602fcf7, 0x00010407, 0x0604fff9, 0xfdfd0004,
- 0x040400fa, 0xfefdfe01, 0x020301fc, 0x00fffe00,
- 0xfb020500, 0xfc0103fd, 0xfa0204fe, 0xfd0406fd,
- 0xfb0305ff, 0xfc0307ff, 0xfa0002ff, 0xfd0305fd,
- 0x0503fdf8, 0xfefe0103, 0xfe040402, 0x0301fdfc,
- 0xfbfd0102, 0x030403fd, 0x03fbfafb, 0xfbff080a,
- 0xfc020300, 0x0600f9f7, 0x0705fffb, 0xfdfdff04,
- 0x03fefbfb, 0xfcff0506, 0xfc000609, 0xff0101fe,
- 0x01ffffff, 0x00ff0001, 0x000000ff, 0x00ffff00,
- 0xfffe0102, 0x00000101, 0xff02080c, 0xf9f9fcff,
- 0x06030102, 0x00020407, 0x00ff0001, 0xf8f9fcff,
- 0x00ff0000, 0xfdff0000, 0x00000000, 0xfe000101,
- 0x010100ff, 0xfeff0000, 0xfdff0000, 0x01fffdfc,
- 0x000000ff, 0x0c0a0401, 0xfefe00ff, 0x01fffdfd,
- 0xfcfefffd, 0x07090902, 0xfdff00fd, 0x01ff0200,
- 0xfdfe01ff, 0x00fdff00, 0xfefd0000, 0x01ffff00,
- 0xfffffeff, 0xfefffffe, 0xfffeff02, 0xfe000100,
- 0x02feff03, 0xfdff0305, 0x01fbfb01, 0x00020606,
- 0xff000201, 0xfe000100, 0x00fffdfb, 0xfe010201,
- 0xfefefbf9, 0x0100fefe, 0x010100ff, 0x0c090300,
- 0x01050600, 0x0300fdfe, 0x01050600, 0x03020101,
- 0xfdfefefb, 0x00000000, 0xfefdfdfa, 0xfeff0000,
- 0x01020404, 0x00ffff00, 0x0100fefe, 0x00010102,
- 0xff010202, 0xf6f7fbfd, 0xffff0102, 0x01040401,
- 0xfefe0004, 0x00fffefe, 0xfdfc0107, 0x010100fe,
- 0xfeff050a, 0x00010100, 0xfcfd0105, 0xfefffffd,
- 0xfdff0102, 0xff0101fd, 0x0003fffe, 0x000101ff,
- 0x020701fd, 0x00fffefd, 0xff0804fe, 0x0200fbf8,
- 0x0201fffc, 0xfefcfd01, 0x01fefdfb, 0x06040404,
- 0xfdfcfefd, 0x02010100, 0x01020202, 0xffff0102,
- 0xff00fffc, 0xfffffdfd, 0x02040401, 0xfdfeff00,
- 0x03050604, 0xfcfe0102, 0x01010100, 0xfafcff01,
- 0xff020201, 0x02fffbfa, 0x0101fefd, 0x0502fdfc,
- 0x0202fffe, 0x0300fcfd, 0x0602fefe, 0x02010205,
- 0x00fdfd02, 0x01030200, 0x0301ff03, 0xfbff0201,
- 0xfefcf9fb, 0x01080801, 0x000200ff, 0xfd0100fd,
- 0xfefbfbfe, 0xfe00fffd, 0x0400fcff, 0x00040200,
- 0x0a080000, 0xff030102, 0x0302fdfc, 0xff01fdfd,
- 0x02fcfe01, 0xfffe0307, 0xfffe0406, 0x03ff0002,
- 0xfefe0101, 0x04fdfbfe, 0x0101fefa, 0x04fefcff,
- 0xfefefffe, 0xfe000100, 0xff0001ff, 0xfdff0000,
- 0xfcfe0100, 0x0000fffd, 0x00050806, 0x03020100,
- 0x0502fefe, 0x01000002, 0xfffefe02, 0x040201ff,
- 0x0100ff02, 0x01000000, 0x01fff9f8, 0x0301ffff,
- 0x02060300, 0x000201fe, 0x00fff9f6, 0x0102fffd,
- 0x02020000, 0xff010101, 0xfefe0003, 0x00010200,
- 0x00000108, 0x00fffdfe, 0x0502fe02, 0x01fffe01,
- 0xfffdfafd, 0x02fffdfd, 0x02010002, 0x00000102,
- 0xfeffff01, 0x000100ff, 0xff02090f, 0xfdfdfdfe,
- 0x00fefd00, 0xffffff00, 0x00010001, 0xffffff00,
- 0xfe020200, 0xf8f9fdfd, 0x00020200, 0x01010201,
- 0x02020201, 0x03000103, 0xfeff0001, 0x0500feff,
- 0x01fffaf5, 0xfd010302, 0xff030401, 0xff0201fe,
- 0xff010202, 0xff0100fe, 0xffff0000, 0x02030200,
- 0x01020101, 0xfc0001ff, 0xfe000000, 0xfe0402fe,
- 0x0000fdfe, 0xfa0102ff, 0x05050200, 0xf9ff0203,
- 0x00000204, 0xff010303, 0x03ffff00, 0xff010406,
- 0x0200fefe, 0xfefe0002, 0xfbff00ff, 0x01fffbf9,
- 0x00feff05, 0xfb020402, 0x02fefb00, 0xfa000201,
- 0x01000106, 0x0204fffe, 0x00fdfd02, 0x0000feff,
- 0x0200ff01, 0x0b060000, 0x00ffff02, 0x0503fefd,
- 0x00fffe00, 0xfd0000ff, 0xffffff01, 0xf9fdfffe,
- 0xfefe0101, 0xfe010301, 0xff0002ff, 0x000001ff,
- 0xff0302fc, 0x0100fefe, 0x0504fef5, 0xfeff0206,
- 0xff01fefa, 0x0901fcfd, 0x030300fd, 0x03fdfd02,
- 0x00000101, 0x03feff01, 0xfdfd0002, 0x03ffff00,
- 0x01fdff01, 0x06fcfa02, 0xfefbfe00, 0x03fefd00,
- 0xfe010202, 0xff0201fe, 0xfe0101ff, 0xff0706ff,
- 0xfefc0001, 0x01fdfe01, 0xfefd00fc, 0x00fd0002,
- 0x010304fd, 0xff000708, 0xfc0104fd, 0xfdfe0302,
- 0xfc0106fd, 0xffff0101, 0xfdfd04fe, 0xffff0003,
- 0x02fc0201, 0x02fffd04, 0x05fcff03, 0x02fdfa04
+static const int8 s_svq1InterCodebook8x4[3072] = {
+ 9, 8, 4, 0, -3, -4, -4, -3, 9, 8, 4, -1, -4, -5, -5, -3,
+ 8, 7, 3, -2, -5, -5, -5, -4, 6, 4, 1, -2, -4, -5, -4, -3,
+ -12,-14,-11, -4, 1, 5, 6, 6, -8,-10, -7, -5, -2, 1, 1, 1,
+ 5, 4, 3, 1, 0, 0, -1, -1, 13, 13, 9, 6, 3, 0, -1, -2,
+ -4, -4, -3, -1, 1, 4, 8, 11, -5, -6, -4, -2, 0, 3, 8, 12,
+ -7, -7, -6, -4, -2, 2, 7, 10, -7, -7, -5, -4, -2, 1, 5, 8,
+ -3, -2, -1, 1, 3, 6, 7, 6, 2, 3, 5, 7, 8, 8, 6, 4,
+ 4, 5, 4, 3, 1, -2, -6, -7, 1, 0, -2, -7,-10,-14,-17,-16,
+ -5, -4, 1, 8, 9, 3, -3, -7, -7, -6, 1, 11, 12, 5, -3, -8,
+ -8, -7, 0, 9, 11, 5, -3, -7, -8, -6, -1, 5, 8, 4, -2, -6,
+ -4, -5, -7, -8, -9, -9, -8, -6, -4, -5, -6, -7, -7, -6, -4, -2,
+ 0, 1, 2, 3, 5, 8, 10, 9, 1, 2, 3, 6, 9, 12, 14, 13,
+ 5, 6, 6, 5, 4, 3, 2, 1, 5, 6, 7, 7, 6, 6, 6, 4,
+ -1, 0, 1, 1, 3, 5, 5, 5,-13,-16,-17,-17,-14,-10, -6, -4,
+ 9, 11, 13, 16, 15, 13, 12, 10, -4, -5, -6, -7, -7, -7, -6, -5,
+ -6, -6, -7, -7, -7, -7, -6, -5, -2, -1, 0, 0, 0, 0, 0, -1,
+ -11,-13,-15,-16,-16,-14,-12,-10, 2, 3, 4, 5, 4, 3, 3, 3,
+ 6, 7, 8, 8, 8, 7, 6, 5, 3, 4, 3, 3, 3, 3, 3, 3,
+ 3, 4, 4, 1, -2, -7,-13,-17, 5, 7, 7, 5, 1, -5,-13,-19,
+ 6, 8, 9, 8, 5, -1, -9,-16, 6, 8, 10, 10, 7, 2, -4,-11,
+ 18, 9, -1,-10,-13, -9, -4, 0, 22, 12, -1,-12,-15,-10, -4, 2,
+ 23, 13, 0,-10,-13, -9, -3, 2, 20, 12, 2, -6, -9, -6, -2, 2,
+ -6, -6, -6, -7, -7, -7, -7, -6, -6, -7, -8, -8, -9, -9, -9, -8,
+ -3, -3, -3, -3, -3, -3, -3, -3, 12, 15, 18, 21, 21, 19, 17, 14,
+ 14, 16, 18, 18, 18, 16, 15, 13, 5, 6, 6, 5, 5, 4, 4, 3,
+ -6, -7, -9,-10,-10,-10, -9, -7,-10,-11,-13,-14,-14,-13,-12,-10,
+ -27,-17, -4, 5, 9, 10, 10, 7,-32,-19, -3, 7, 11, 12, 11, 8,
+ -30,-16, -2, 8, 12, 12, 10, 7,-23,-12, 0, 7, 10, 11, 9, 6,
+ 16, 17, 16, 12, 6, -1, -8,-12, 17, 18, 15, 10, 1, -8,-15,-18,
+ 15, 14, 10, 4, -5,-14,-20,-23, 10, 8, 4, -1, -9,-16,-21,-22,
+ -10,-12,-12,-11, -5, 4, 14, 20,-11,-13,-15,-12, -4, 7, 19, 27,
+ -11,-13,-14,-11, -3, 8, 21, 28,-10,-11,-12, -9, -2, 8, 18, 25,
+ -1, -1, -1, 1, 4, 6, 6, 5, 0, 0, 0, 2, 4, 3, 1, -2,
+ 0, 0, 2, 4, 4, -1, -7,-10, 0, 0, 3, 5, 3, -3,-11,-15,
+ -14,-13, -8, -1, 3, 3, -1, -4, -5, -4, -1, 4, 8, 8, 3, 0,
+ 3, 2, 2, 3, 4, 5, 3, 1, 5, 3, 0, -2, -2, -1, -1, -1,
+ 9, 1, -6, -6, -5, -3, -2, -1, 12, 1, -6, -6, -4, -2, -1, 0,
+ 14, 4, -4, -4, -2, -2, -1, -1, 14, 6, -1, -1, -1, -1, -1, -1,
+ 4, 6, 8, 10, 11, 9, 7, 5, -1, -1, -1, 0, 0, -1, -1, -2,
+ -2, -4, -4, -5, -5, -5, -5, -4, -2, -3, -3, -4, -4, -3, -2, -1,
+ 2, 3, 4, 4, 3, 1, 0, 0, -1, 1, 4, 5, 6, 5, 4, 3,
+ -8, -6, -2, 2, 3, 4, 4, 3,-14,-13, -9, -5, -2, -1, 0, 0,
+ -3, -4, -5, -4, 0, 7, 12, 13, -3, -4, -5, -5, -2, 4, 9, 10,
+ -2, -3, -4, -5, -4, -1, 3, 4, -1, -1, -2, -3, -3, -2, 0, 1,
+ 9, 5, -2, -8,-11,-10, -7, -4, 12, 10, 6, 2, 0, -1, 0, 0,
+ 2, 2, 3, 4, 3, 1, 1, 1, -9, -8, -4, 0, 1, 2, 1, 0,
+ 6, 8, 8, 5, 1, -5,-11,-13, 0, 1, 2, 2, -1, -4, -8,-11,
+ -3, -2, 1, 3, 3, 1, -1, -4, -2, -1, 2, 5, 6, 6, 4, 1,
+ 3, 4, 5, 5, 4, 1, -3, -6, 5, 6, 4, 2, 2, 2, 0, -3,
+ 6, 5, 0, -5, -5, -2, -1, -2, 7, 4, -3,-11,-12, -7, -3, -2,
+ 1, 0, -1, -1, -1, 0, 0, 0, 2, 3, 4, 4, 5, 5, 4, 3,
+ -7, -9, -9,-10,-10, -9, -7, -6, 3, 4, 5, 6, 5, 5, 5, 5,
+ -7, -7, -7, -7, -6, -6, -5, -4, -5, -4, -3, -1, -1, -1, 0, 0,
+ -3, -2, 1, 4, 5, 5, 5, 5, -2, -1, 3, 6, 9, 10, 10, 9,
+ -14, 1, 10, 3, -2, 0, 1, 1,-16, 2, 13, 3, -3, -1, 1, 0,
+ -15, 2, 12, 3, -4, -2, 1, 1,-10, 3, 10, 2, -3, -1, 1, 1,
+ 0, 1, 4, 2, -5,-10, -3, 11, -1, 1, 4, 2, -6,-13, -2, 15,
+ -1, 0, 3, 1, -6,-12, -1, 15, -1, 1, 2, 1, -4, -8, 0, 11,
+ 10, 5, -2, -2, 2, 5, 1, -4, 7, 0, -8, -6, 1, 5, 2, -4,
+ 2, -5,-12, -7, 2, 7, 4, -1, -1, -7,-10, -4, 4, 9, 7, 2,
+ -5, -5, -4, -6, -6, -5, -5, -3, -1, -2, -2, -4, -5, -6, -5, -4,
+ 6, 7, 7, 4, 0, -2, -3, -3, 13, 14, 13, 10, 5, 1, -1, -2,
+ 1, 1, 2, 2, 2, 2, 2, 2, -5, -6, -8, -9, -9, -8, -7, -6,
+ 7, 9, 10, 11, 11, 9, 7, 5, -1, -2, -3, -3, -4, -4, -4, -3,
+ -1, -1, 0, 0, 0, 0, -1, -1, -3, -3, -4, -5, -4, -3, -3, -2,
+ 2, 1, -1, -3, -3, -2, -1, 0, 12, 12, 8, 3, 1, 0, 0, 1,
+ -6, -8, -8, -6, -2, 2, 6, 8, 1, 1, -1, -2, 0, 3, 5, 7,
+ 3, 3, 1, -1, -1, 0, 0, 2, 0, 1, 0, -1, -1, -1, -2, -1,
+ 1, 0, 0, 0, 0, 0, 2, 4, 2, 1, 3, 4, 3, 1, 0, 2,
+ 2, 1, 0, 0, -1, -1, 0, 3, 5, 1, -6,-12,-13, -8, -1, 4,
+ -2, 0, -1, -2, -1, 0, 2, 3, -6, -3, -2, 0, 1, 1, 1, 1,
+ -9, -5, 0, 4, 5, 3, 1, 0, -8, -3, 3, 7, 8, 4, 1, 0,
+ 1, 2, 2, 3, 3, 1, -1, -3, 4, 5, 5, 6, 6, 5, 2, 0,
+ 0, 0, 0, 0, 1, 0, -2, -4, -3, -3, -4, -3, -3, -4, -7, -8,
+ 14, 12, 6, -1, -3, -3, 0, 0, 7, 5, 1, -3, -5, -4, -2, -1,
+ -2, -2, -2, -2, -2, -2, -1, -1, -6, -4, -1, 1, 1, 1, 0, -1,
+ 2, 2, 1, -3, -6, -7, -6, -3, 1, 0, -1, -3, -2, 1, 4, 6,
+ 0, 0, 1, 2, 4, 7, 8, 7, 0, 0, 0, 0, -1, -4, -7, -8,
+ 0, 2, 1, -2, -3, -3, -2, -1, -1, 1, 0, -3, -5, -2, 0, 2,
+ -2, -1, -2, -5, -4, 1, 6, 9, -3, -2, -3, -4, -2, 5, 11, 13,
+ -4, -2, 2, 6, 4, -3,-10,-14, -2, -1, 1, 4, 4, 1, -1, -2,
+ 0, 0, -1, -2, -2, 0, 4, 6, 2, 2, 0, -3, -3, 0, 5, 9,
+ -4, -4, -2, 1, 6, 9, 3, -7, -2, -2, -2, -1, 4, 8, 0,-11,
+ 1, 1, 0, 0, 2, 6, -1,-10, 2, 2, 1, 0, 2, 4, 0, -7,
+ -1, -2, -3, -6, -7, -8, -8, -8, 2, 3, 3, 1, -1, -2, -3, -4,
+ 5, 5, 5, 4, 3, 2, 0, -1, 3, 3, 3, 3, 2, 2, 1, 1,
+ 3, 3, 2, -2, -3, 0, 7, 10, 1, 2, 2, -2, -5, -4, 0, 3,
+ 0, 3, 4, 2, -3, -5, -6, -4, 0, 2, 4, 4, 1, -4, -7, -7,
+ 2, 4, 5, 5, 5, 5, 6, 6, -4, -4, -3, -5, -5, -3, -3, -2,
+ -3, -4, -4, -5, -4, -2, -2, -2, 1, 1, 0, 0, 2, 4, 5, 4,
+ -2, 0, 3, 4, 4, 3, 2, 2, -9, -7, -4, 0, 3, 6, 6, 6,
+ -5, -5, -3, -2, 0, 1, 3, 4, 5, 5, 2, -2, -4, -6, -5, -3,
+ 1, -6, -4, 7, 5, -2, -2, 1, 5, -5, -4, 6, 4, -5, -4, 1,
+ 5, -5, -4, 6, 4, -5, -3, 1, 1, -7, -3, 8, 7, -1, -3, 1,
+ -8, -7, -4, 0, 2, 4, 5, 5, 5, 6, 5, 2, -1, -5, -7, -7,
+ 5, 6, 4, 1, -3, -5, -6, -5, -7, -7, -5, -2, 1, 6, 9, 10,
+ 6, 3, 0, 1, 3, 0, -8,-14, 3, 0, -1, 1, 4, 3, 0, -4,
+ 1, 0, 0, 1, 2, 1, 1, 1, -1, -1, 1, 2, 1, -1, -1, 0,
+ 1, 1, 1, 1, 0, -2, -3, 0, 1, 2, 1, 0, -2, -8, -9, -4,
+ 1, 3, 3, 2, 1, -3, -3, 1, 0, 1, 1, 1, 1, 1, 4, 8,
+ 2, 5, 9, 7, 2, -1, -1, 1, -4, -1, 1, 0, -3, -4, -1, 2,
+ -3, 0, 3, 3, 0, -1, 0, 2, -4, -1, 1, 1, -2, -4, -5, -4,
+ 1, -1, -2, -2, -1, 2, 4, 5, 2, 1, 1, 0, -1, -1, 0, 0,
+ 2, 3, 4, 5, 4, 2, 1, 0, -9, -9, -6, -3, -1, -1, -1, -1,
+ -6, -6, 4, 7, 0, -2, -1, -2, -1, -2, 5, 6, -1, -2, 0, -1,
+ 4, -1, 1, 0, -4, -2, 0, -2, 7, 1, -1, -2, -3, 1, 3, 1,
+ 4, 2, 1, 3, 3, 1, 1, 2, 2, -2, -4, 0, 3, 1, 0, 0,
+ 1, -4, -8, -4, 1, 2, 1, 0, 2, -3, -9, -6, 0, 3, 3, 2,
+ -1, -1, 0, -1, -1, 0, 1, 2, 3, 1, -4, -8, -7, -3, 1, 2,
+ 2, -1, -3, -2, -1, 0, 1, 0, -1, 0, 5, 11, 9, 3, -1, -3,
+ -1, -2, -2, -1, 1, 1, 1, 1, 0, -1, 0, 3, 6, 6, 5, 5,
+ 2, 1, -1, -1, -2, -5, -6, -4, 2, 2, 2, 1, -1, -4, -5, -5,
+ -1, -3, -6, -7, -6, -4, -1, 1, 5, 5, 3, 4, 4, 3, 4, 5,
+ -1, -2, -3, -2, -2, -2, 0, 1, 0, 0, 0, 0, 0, 1, 2, 3,
+ -6, -6, -4, -1, 2, 2, 2, 2, -6, -7, -5, -2, 0, -1, -1, 0,
+ 2, 2, 2, 4, 4, 3, 3, 4, 2, 1, 0, -1, 0, 0, 2, 4,
+ 12, 5, -5, -8, -5, 0, 2, 2, 2, -3, -6, -3, 0, 0, -1, -2,
+ -2, -3, -1, 3, 4, 1, -2, -3, 2, 2, 3, 4, 3, 1, -1, -1,
+ 3, 2, 1, 0, 1, 4, 3, 0, 4, 3, 0, -5, -6, 0, 3, 3,
+ 2, 3, 1, -7,-12, -6, 1, 3, 1, 3, 4, -1, -6, -4, 0, 1,
+ -9, -4, 2, 6, 7, 4, 1, 0, -7, -1, 4, 6, 4, 0, -3, -3,
+ -6, 0, 4, 4, 1, -2, -3, -2, -4, 1, 3, 2, 0, -2, -1, 0,
+ 0, 5, 2, -5, -3, 3, 1, -4, -2, 4, 2, -6, -3, 6, 4, -3,
+ -1, 5, 3, -5, -1, 7, 3, -4, -1, 2, 0, -6, -3, 5, 3, -3,
+ -8, -3, 3, 5, 3, 1, -2, -2, 2, 4, 4, -2, -4, -3, 1, 3,
+ 2, 1, -3, -5, -3, 3, 4, 3, -5, -6, -5, 3, 10, 8, -1, -5,
+ 0, 3, 2, -4, -9, -7, 0, 6, -5, -1, 5, 7, 4, -1, -3, -3,
+ -5, -5, -2, 3, 6, 5, -1, -4, 9, 6, 0, -4, -2, 1, 1, -1,
+ -1, -1, -1, 1, 1, 0, -1, 0, -1, 0, 0, 0, 0, -1, -1, 0,
+ 2, 1, -2, -1, 1, 1, 0, 0, 12, 8, 2, -1, -1, -4, -7, -7,
+ 2, 1, 3, 6, 7, 4, 2, 0, 1, 0, -1, 0, -1, -4, -7, -8,
+ 0, 0, -1, 0, 0, 0, -1, -3, 0, 0, 0, 0, 1, 1, 0, -2,
+ -1, 0, 1, 1, 0, 0, -1, -2, 0, 0, -1, -3, -4, -3, -1, 1,
+ -1, 0, 0, 0, 1, 4, 10, 12, -1, 0, -2, -2, -3, -3, -1, 1,
+ -3, -1, -2, -4, 2, 9, 9, 7, -3, 0, -1, -3, 0, 2, -1, 1,
+ -1, 1, -2, -3, 0, -1, -3, 0, 0, 0, -3, -2, 0, -1, -1, 1,
+ -1, -2, -1, -1, -2, -1, -1, -2, 2, -1, -2, -1, 0, 1, 0, -2,
+ 3, -1, -2, 2, 5, 3, -1, -3, 1, -5, -5, 1, 6, 6, 2, 0,
+ 1, 2, 0, -1, 0, 1, 0, -2, -5, -3, -1, 0, 1, 2, 1, -2,
+ -7, -5, -2, -2, -2, -2, 0, 1, -1, 0, 1, 1, 0, 3, 9, 12,
+ 0, 6, 5, 1, -2, -3, 0, 3, 0, 6, 5, 1, 1, 1, 2, 3,
+ -5, -2, -2, -3, 0, 0, 0, 0, -6, -3, -3, -2, 0, 0, -1, -2,
+ 4, 4, 2, 1, 0, -1, -1, 0, -2, -2, 0, 1, 2, 1, 1, 0,
+ 2, 2, 1, -1, -3, -5, -9,-10, 2, 1, -1, -1, 1, 4, 4, 1,
+ 4, 0, -2, -2, -2, -2, -1, 0, 7, 1, -4, -3, -2, 0, 1, 1,
+ 10, 5, -1, -2, 0, 1, 1, 0, 5, 1, -3, -4, -3, -1, -1, -2,
+ 2, 1, -1, -3, -3, 1, 1, -1, -2, -1, 3, 0, -1, 1, 1, 0,
+ -3, 1, 7, 2, -3, -2, -1, 0, -2, 4, 8, -1, -8, -5, 0, 2,
+ -4, -1, 1, 2, 1, -3, -4, -2, -5, -3, -2, 1, 4, 4, 4, 6,
+ -3, -2, -4, -3, 0, 1, 1, 2, 2, 2, 2, 1, 2, 1, -1, -1,
+ -4, -1, 0, -1, -3, -3, -1, -1, 1, 4, 4, 2, 0, -1, -2, -3,
+ 4, 6, 5, 3, 2, 1, -2, -4, 0, 1, 1, 1, 1, -1, -4, -6,
+ 1, 2, 2, -1, -6, -5, -1, 2, -3, -2, 1, 1, -4, -3, 2, 5,
+ -2, -1, 2, 2, -3, -4, 0, 3, -2, -2, 2, 6, 5, 2, 1, 2,
+ 2, -3, -3, 0, 0, 2, 3, 1, 3, -1, 1, 3, 1, 2, -1, -5,
+ -5, -7, -4, -2, 1, 8, 8, 1, -1, 0, 2, 0, -3, 0, 1, -3,
+ -2, -5, -5, -2, -3, -1, 0, -2, -1, -4, 0, 4, 0, 2, 4, 0,
+ 0, 0, 8, 10, 2, 1, 3, -1, -4, -3, 2, 3, -3, -3, 1, -1,
+ 1, -2, -4, 2, 7, 3, -2, -1, 6, 4, -2, -1, 2, 0, -1, 3,
+ 1, 1, -2, -2, -2, -5, -3, 4, -6, -2, 1, 1, -1, -4, -2, 4,
+ -2, -1, -2, -2, 0, 1, 0, -2, -1, 1, 0, -1, 0, 0, -1, -3,
+ 0, 1, -2, -4, -3, -1, 0, 0, 6, 8, 5, 0, 0, 1, 2, 3,
+ -2, -2, 2, 5, 2, 0, 0, 1, 2, -2, -2, -1, -1, 1, 2, 4,
+ 2, -1, 0, 1, 0, 0, 0, 1, -8, -7, -1, 1, -1, -1, 1, 3,
+ 0, 3, 6, 2, -2, 1, 2, 0,-10, -7, -1, 0, -3, -1, 2, 1,
+ 0, 0, 2, 2, 1, 1, 1, -1, 3, 0, -2, -2, 0, 2, 1, 0,
+ 8, 1, 0, 0, -2, -3, -1, 0, 2, -2, 2, 5, 1, -2, -1, 1,
+ -3, -6, -3, -1, -3, -3, -1, 2, 2, 0, 1, 2, 2, 1, 0, 0,
+ 1, -1, -1, -2, -1, 0, 1, 0, 15, 9, 2, -1, -2, -3, -3, -3,
+ 0, -3, -2, 0, 0, -1, -1, -1, 1, 0, 1, 0, 0, -1, -1, -1,
+ 0, 2, 2, -2, -3, -3, -7, -8, 0, 2, 2, 0, 1, 2, 1, 1,
+ 1, 2, 2, 2, 3, 1, 0, 3, 1, 0, -1, -2, -1, -2, 0, 5,
+ -11, -6, -1, 1, 2, 3, 1, -3, 1, 4, 3, -1, -2, 1, 2, -1,
+ 2, 2, 1, -1, -2, 0, 1, -1, 0, 0, -1, -1, 0, 2, 3, 2,
+ 1, 1, 2, 1, -1, 1, 0, -4, 0, 0, 0, -2, -2, 2, 4, -2,
+ -2, -3, 0, 0, -1, 2, 1, -6, 0, 2, 5, 5, 3, 2, -1, -7,
+ 4, 2, 0, 0, 3, 3, 1, -1, 0, -1, -1, 3, 6, 4, 1, -1,
+ -2, -2, 0, 2, 2, 0, -2, -2, -1, 0, -1, -5, -7, -5, -1, 1,
+ 5, -1, -2, 0, 2, 4, 2, -5, 0, -5, -2, 2, 1, 2, 0, -6,
+ 6, 1, 0, 1, -2, -1, 4, 2, 2, -3, -3, 0, -1, -2, 0, 0,
+ 1, -1, 0, 2, 0, 0, 6, 11, 2, -1, -1, 0, -3, -2, 3, 5,
+ 0, -2, -1, 0, -1, 0, 0, -3, 1, -1, -1, -1, -2, -1, -3, -7,
+ 1, 1, -2, -2, 1, 3, 1, -2, -1, 2, 0, -1, -1, 1, 0, 0,
+ -4, 2, 3, -1, -2, -2, 0, 1,-11, -2, 4, 5, 6, 2, -1, -2,
+ -6, -2, 1, -1, -3, -4, 1, 9, -3, 0, 3, 3, 2, -3, -3, 3,
+ 1, 1, 0, 0, 1, -1, -2, 3, 2, 0, -3, -3, 0, -1, -1, 3,
+ 1, -1, -3, 1, 2, -6, -4, 6, 0, -2, -5, -2, 0, -3, -2, 3,
+ 2, 2, 1, -2, -2, 1, 2, -1, -1, 1, 1, -2, -1, 6, 7, -1,
+ 1, 0, -4, -2, 1, -2, -3, 1, -4, 0, -3, -2, 2, 0, -3, 0,
+ -3, 4, 3, 1, 8, 7, 0, -1, -3, 4, 1, -4, 2, 3, -2, -3,
+ -3, 6, 1, -4, 1, 1, -1, -1, -2, 4, -3, -3, 3, 0, -1, -1,
+ 1, 2, -4, 2, 4, -3, -1, 2, 3, -1, -4, 5, 4, -6, -3, 2
};
-static const uint32 s_svq1InterCodebook8x8[1536] = {
- 0x0504fdfc, 0x00010102, 0x0505fdfb, 0x00000102,
- 0x0505fcfa, 0x00000102, 0x0504fcf9, 0x00000102,
- 0x0403fbf8, 0x00000102, 0x0403faf8, 0x00010101,
- 0x0402faf8, 0x00010102, 0x0402faf8, 0x01010101,
- 0xffffffff, 0xffffffff, 0xfefefeff, 0xfefefefe,
- 0xfdfdfdfe, 0xfdfdfdfd, 0xfdfdfdfe, 0xfdfcfdfd,
- 0xfefefefe, 0xfefdfdfe, 0x01010101, 0xffff0001,
- 0x05050504, 0x02030304, 0x08080707, 0x05060708,
- 0x04020102, 0xfafc0004, 0x05020101, 0xf9fb0105,
- 0x04010201, 0xf8fb0105, 0x05010101, 0xf8fa0005,
- 0x05010100, 0xf7fa0106, 0x04010000, 0xf8fb0005,
- 0x04010000, 0xf9fb0005, 0x04010000, 0xf9fc0104,
- 0x00030201, 0xfffdfcfd, 0x00040301, 0xfffdfcfd,
- 0x01050402, 0xfefdfcfd, 0x01060502, 0xfefcfbfd,
- 0x01060603, 0xfefcfbfd, 0x01060603, 0xfefcfbfd,
- 0x01060603, 0xfefcfbfd, 0x01050503, 0xfefcfcfd,
- 0x02020202, 0xff000001, 0x03040404, 0x00010102,
- 0x04040504, 0x01020303, 0x04040404, 0x02020304,
- 0x03030302, 0x01020303, 0xffffffff, 0x00000000,
- 0xfbfafafb, 0xfdfdfcfb, 0xf8f7f7f9, 0xfbfafaf9,
- 0x06060606, 0x04050506, 0x03040404, 0x02030303,
- 0xffffff00, 0xfffffefe, 0xfafafbfd, 0xfcfbfafa,
- 0xf9fafbfd, 0xfcfbfafa, 0xfefefeff, 0xfffffefe,
- 0x01010100, 0x01010101, 0x03030303, 0x03030303,
- 0xfbfe0102, 0x050200fc, 0xfafe0102, 0x050300fb,
- 0xfafe0102, 0x0603fffa, 0xf9fe0203, 0x070400fa,
- 0xf9fe0102, 0x070500fb, 0xfafe0102, 0x070400fb,
- 0xfafe0102, 0x060400fc, 0xfbfe0101, 0x060300fc,
- 0xfcfaf7f6, 0x020302ff, 0xfdfbf7f6, 0x03040400,
- 0xfffdf9f7, 0x03050502, 0x00fefbf9, 0x03050503,
- 0x0100fdfa, 0x03050604, 0x0201fefc, 0x02040503,
- 0x020100fe, 0x01030402, 0x020201ff, 0x01030302,
- 0xfafbfbfc, 0xfbfafafa, 0xfcfcfdfd, 0xfcfcfcfc,
- 0x00000000, 0xffffffff, 0x05060505, 0x02030405,
- 0x07070605, 0x04050607, 0x04040303, 0x02030404,
- 0x0000ff00, 0xff00ffff, 0xfcfcfdfd, 0xfdfdfcfc,
- 0x01fbfe01, 0x00020405, 0x01fafd01, 0x00020506,
- 0x00f9fc00, 0x01020606, 0xfff7fbff, 0x01030606,
- 0xfef6faff, 0x01030606, 0xfef7faff, 0x01030605,
- 0xfef7fafe, 0x01030505, 0xfef9fafe, 0x01020404,
- 0xf7f8f9fb, 0xfaf9f8f7, 0xf9fafafb, 0xfbfafaf9,
- 0xfcfdfdfd, 0xfcfcfbfb, 0xff0000ff, 0xffffffff,
- 0x02020100, 0x01020202, 0x05040302, 0x04050505,
- 0x06050403, 0x07080808, 0x06050403, 0x06070707,
- 0x08070605, 0x090a0a09, 0x07060403, 0x08090908,
- 0x03020100, 0x05050504, 0xfffffeff, 0x02020100,
- 0xfdfdfdfe, 0x00fffefd, 0xfbfbfcfd, 0xfcfbfbfb,
- 0xfafbfbfc, 0xfbfaf9f9, 0xfafbfcfd, 0xfafaf9f9,
- 0xfd00070d, 0xfbfcfcfd, 0xfd00070e, 0xfcfcfcfd,
- 0xfcff080f, 0xfcfbfcfc, 0xfcff080f, 0xfdfcfbfc,
- 0xfcff070f, 0xfcfbfbfb, 0xfcff070e, 0xfdfcfcfc,
- 0xfcff060c, 0xfdfcfcfc, 0xfcff050b, 0xfdfcfcfc,
- 0x0405fcef, 0x03030404, 0x0405fbee, 0x03030404,
- 0x0406fbed, 0x02030404, 0x0406fbec, 0x03030404,
- 0x0406fcec, 0x03030504, 0x0406fbed, 0x03030504,
- 0x0405fcee, 0x02030404, 0x0304fbef, 0x03030404,
- 0xfcfafafa, 0x0b0601fe, 0xfcf9f9fa, 0x0d0802fe,
- 0xfcf9f8f8, 0x0e0903fe, 0xfbf9f8f8, 0x100a04ff,
- 0xfbf9f8f8, 0x110a04ff, 0xfcf9f8f8, 0x100a0500,
- 0xfdfaf8f8, 0x0f090400, 0xfdfbf9f9, 0x0c080400,
- 0x05070708, 0xf2f8fe02, 0x05070808, 0xf1f8fe02,
- 0x05070808, 0xf0f7fd01, 0x05070808, 0xeff6fd01,
- 0x05080908, 0xeff6fd01, 0x04070808, 0xf0f6fc01,
- 0x04070707, 0xf2f7fd01, 0x03060706, 0xf3f7fd00,
- 0xfcfc0105, 0x0000fffd, 0xfdfd0207, 0x0001fffe,
- 0xfdfd0107, 0x010100ff, 0xfefd0106, 0x000101ff,
- 0xfefc0006, 0x000100ff, 0xfdfc0005, 0xff0000ff,
- 0xfffd0005, 0xfe000000, 0xfffe0104, 0xff000100,
- 0x01010202, 0xf8f8fafe, 0x01010101, 0xf8f8fbfe,
- 0x00010101, 0xfbfbfdff, 0x00000000, 0xfeffffff,
- 0x0000ff00, 0x00010000, 0x00000001, 0x02030201,
- 0x01010102, 0x03040302, 0x03030303, 0x04050404,
- 0xfefdfcfc, 0x01010000, 0xfefdfcfc, 0x010000ff,
- 0xfffefefe, 0x0000ffff, 0x00000100, 0xff000000,
- 0x02020202, 0x01010202, 0x04040403, 0x03040404,
- 0x03010101, 0x03030403, 0xfcfbfafb, 0xfefefdfd,
- 0xfffffefc, 0x0100ffff, 0xfffffefc, 0x0100ffff,
- 0xfffffefd, 0x020100ff, 0xfffefdfc, 0x030301ff,
- 0xfffdfdfc, 0x050401ff, 0xfefefdfc, 0x070401ff,
- 0xfffffefe, 0x08060200, 0x010000ff, 0x08070401,
- 0xfefdfdfd, 0x00fffffe, 0x0100ffff, 0x03030202,
- 0x04020100, 0x05060605, 0x030200ff, 0x03050605,
- 0x0200ffff, 0x01020303, 0x00fffefe, 0xfcfcfdff,
- 0xffff0000, 0xf9f8fcfe, 0x00010201, 0xf9fafcff,
- 0xfa0104fe, 0x00000300, 0xf90105fe, 0x00000300,
- 0xf80105fd, 0xffff0300, 0xf70106fe, 0xff000300,
- 0xf80206fe, 0xff000400, 0xf90105fd, 0x00000401,
- 0xf90104fe, 0x00010400, 0xfa0104ff, 0x00010300,
- 0x03000000, 0x01040504, 0x02010101, 0x00020303,
- 0x02010202, 0xfeff0102, 0x01010304, 0xfbfdff00,
- 0xff010305, 0xfafcfdfe, 0xfe000305, 0xf9fafbfd,
- 0xfe000304, 0xfbfbfcfd, 0xff000304, 0xfdfdfefe,
- 0x00000000, 0x06fefbff, 0x01000000, 0x08fefaff,
- 0x02000000, 0x09fdfa00, 0x0200ff00, 0x0afef900,
- 0x0200ff00, 0x0afdf8ff, 0x02ffff00, 0x09fdf9ff,
- 0x0100ff00, 0x08fdfaff, 0x01000000, 0x07fefb00,
- 0x02030302, 0xffff0001, 0x02030403, 0xfeff0001,
- 0x02040403, 0xfdfeff01, 0x02030302, 0xfdfeff00,
- 0x010100ff, 0xfefeff00, 0xfffdfcfb, 0x01010100,
- 0xfffbf8f8, 0x03040301, 0x00fbf7f6, 0x05060503,
- 0x0504fffb, 0x00000103, 0x0504fffa, 0xfeff0002,
- 0x0405fffa, 0xfefeff02, 0x0404fff9, 0xfdfdfe01,
- 0x0405fffa, 0xfdfdfe01, 0x040400fb, 0xfefeff01,
- 0x040500fc, 0xfeffff01, 0x030401fd, 0xfeffff01,
- 0x01fefdfe, 0x03050604, 0x00fcfcfd, 0x02040503,
- 0xfffbfbfd, 0x01030402, 0xfffcfafc, 0xff020402,
- 0x01fdfcfe, 0xff020402, 0x01fefcfe, 0xfe010303,
- 0x01fefdfe, 0xfe010303, 0x01fffefe, 0xfe000303,
- 0xfefdfcfc, 0x070502ff, 0xfdfdfcfc, 0x070501fe,
- 0xfdfefdfe, 0x0503fffd, 0xfe00ffff, 0x0402fefd,
- 0xff010101, 0x0301fdfc, 0xff020304, 0x01fffdfc,
- 0x00030406, 0x00fefdfd, 0x01030506, 0xfffefdfe,
- 0x04080b0c, 0xfffefe00, 0x0206090a, 0x00fffeff,
- 0x00020304, 0x0100ffff, 0xffffffff, 0x020100fe,
- 0xfefcfbfd, 0x030200fe, 0xfefcfbfb, 0x020100ff,
- 0xfefcfbfb, 0x010100ff, 0xfefdfcfc, 0x0000fffe,
- 0xff020303, 0xfefdfcfd, 0xfe000203, 0xfefdfcfc,
- 0xff010202, 0xfdfcfbfd, 0x01030303, 0xfdfdfdfe,
- 0x03040404, 0xfefefe00, 0x03050505, 0xfefeff00,
- 0x02040505, 0xfefdfeff, 0x00030303, 0xfcfcfcfe,
- 0xfe04ffff, 0xfb0206fe, 0xfe0400ff, 0xfa0206fd,
- 0xfe0400ff, 0xf90307fd, 0xfd04ffff, 0xf90308fc,
- 0xfd04ff00, 0xfa0307fc, 0xfd04ffff, 0xfa0307fc,
- 0xfd03ffff, 0xfa0306fc, 0xfe0300ff, 0xfb0306fd,
- 0x02f9fe01, 0x01fffe05, 0x03f8fe01, 0x02fffd06,
- 0x04f7fe02, 0x02fefc07, 0x05f7ff03, 0x03fffc07,
- 0x04f7ff03, 0x02fefc07, 0x04f9ff03, 0x01fefc06,
- 0x04fa0002, 0x01fffc06, 0x03fb0002, 0x01fffd04,
- 0x000202fe, 0xfcfdff00, 0x010202fe, 0xfcfe0001,
- 0x020202fe, 0xfeff0102, 0x030302fd, 0xfe000204,
- 0x020302fd, 0xfd000204, 0x010201fc, 0xfdff0102,
- 0x000100fb, 0xfdfe0101, 0x000000fc, 0xfdfe0001,
- 0xfeff0000, 0x080702fe, 0xfdff0000, 0x070601fe,
- 0xfdff0100, 0x050400fd, 0xff000100, 0x030100ff,
- 0x01010200, 0x0100ff00, 0x020100fe, 0xffff0001,
- 0x0100fefb, 0xfdfd0001, 0x01fffcfa, 0xfcfdff01,
- 0x0502fefc, 0x02030406, 0x0401fdfb, 0x00000204,
- 0x0200fefc, 0xfefeff01, 0x0100fffe, 0xfefdfe00,
- 0x000000fe, 0xfffeffff, 0x00fffffe, 0x02010000,
- 0xfffffefe, 0x04030100, 0xfffefdfe, 0x05040200,
- 0xfefe0102, 0x000100ff, 0xfdfd0001, 0x000100ff,
- 0xfdfdff00, 0x010101ff, 0xfffd0000, 0x03030201,
- 0xfffdff00, 0x03030301, 0xfefcfefe, 0x04040301,
- 0xfefcfdfd, 0x04030301, 0xfefbfdfe, 0x03030201,
- 0x04030504, 0x05040404, 0x00010303, 0x01000000,
- 0xfeff0101, 0xfefdfcfd, 0xfe000202, 0xfefdfcfe,
- 0xff010302, 0xfefdfdff, 0x00000201, 0xfffefeff,
- 0xff000100, 0xfffefdff, 0xff000101, 0xfefefeff,
- 0x00fffffe, 0x00010201, 0x05030201, 0x03050506,
- 0x04030201, 0x03040505, 0xfdfdfefe, 0x0000fffe,
- 0xfbfcfdfd, 0xfffefdfc, 0xfefeffff, 0x0000fffe,
- 0xff000100, 0x010000ff, 0xfeff00ff, 0xfffefefd,
- 0x05060707, 0xfeff0204, 0x02020303, 0xfdfe0001,
- 0xffffff00, 0xfefeff00, 0xfffefdff, 0x01000000,
- 0xfffefe00, 0x020201ff, 0xffff0103, 0x020201ff,
- 0xfdfe0103, 0x0201fffe, 0xfafbfe01, 0x00fefdfb,
- 0xfdfeff00, 0xfefe00ff, 0xffff0000, 0xfeff0100,
- 0xfffe0000, 0xfe000000, 0xfdfdfeff, 0xfdfdfffe,
- 0xfdfdfeff, 0xfcfdfefe, 0x00000202, 0xfeff0000,
- 0x02030505, 0xff000202, 0x05060808, 0x01020404,
- 0xfdfaf8f9, 0xfffeffff, 0x00fdfbfb, 0x00000102,
- 0x0300ffff, 0x01010304, 0x03010102, 0x02020304,
- 0x02000203, 0x02010203, 0xffff0204, 0x01010100,
- 0xfdfe0203, 0x0100fffe, 0xfcfd0103, 0x0100fefd,
- 0x02fffefc, 0x00010303, 0xfefcfbf9, 0xfeff0000,
- 0xfcfbfbfa, 0xfdfefefe, 0xffff00ff, 0xff000000,
- 0x02020302, 0x00010202, 0x03040503, 0x00010001,
- 0x02030403, 0xffffff00, 0x01030505, 0xffffff00,
- 0xff000101, 0xfcfafbfd, 0x00000101, 0xfffdfd00,
- 0x00ffff00, 0x03010001, 0xfffdfefe, 0x07040202,
- 0x00fefefe, 0x06030202, 0x010000ff, 0x03000001,
- 0x03030300, 0xfffdfe01, 0x03040301, 0xfcfbfd00,
- 0xff000200, 0xfefefcfd, 0x00020401, 0xfffefdfe,
- 0x01030603, 0xff00fefe, 0x01040704, 0x00fffdfe,
- 0x00030603, 0x00fffdfd, 0xff000301, 0x0101fefd,
- 0xfeff0100, 0x0202fffd, 0xfdfdfffe, 0x0201fffd,
- 0x00ff0103, 0x00000001, 0xfffeff02, 0xffff0001,
- 0x00feff01, 0xfdfe0001, 0x01fffe00, 0xfbfd0103,
- 0x02fffe00, 0xfbfd0205, 0x04fffe00, 0xfbfe0306,
- 0x0400fe00, 0xfcfe0407, 0x0400fe00, 0xfcfe0406,
- 0xfcfdfefe, 0x00fffefd, 0xff000101, 0x0100ffff,
- 0x02020303, 0x01010101, 0x02020202, 0x01000001,
- 0x00000000, 0xffffffff, 0xfcfcfcfc, 0xfdfcfcfc,
- 0xfdfefdfd, 0x00fffffe, 0x05040403, 0x07060605,
- 0xfe07feff, 0x00fffffc, 0xff09feff, 0x00fffffc,
- 0xff0afdff, 0x01fffffc, 0xfe0afdff, 0x02fffffd,
- 0xfe0afeff, 0x02fffffc, 0xfe09feff, 0x02fffffc,
- 0xfe08feff, 0x01ff00fc, 0xfe07fe00, 0x0200fffd,
- 0x0301fc03, 0x0001fefd, 0x0401fb03, 0x0001fefd,
- 0x0502fa03, 0x0003fffd, 0x0502fa03, 0x0002fffd,
- 0x0501fa03, 0x0003fefc, 0x0501fa03, 0x0002fefd,
- 0x0401fa02, 0x0001fffd, 0x0401fa02, 0x0001fffe,
- 0x01010000, 0x02000001, 0x0101ff00, 0x02000001,
- 0x0000ff00, 0x02000000, 0x0000ff00, 0x00ff0000,
- 0x00010001, 0xfffeff00, 0x00010103, 0xfdfcfe00,
- 0x01020305, 0xfcfbfd00, 0x00020405, 0xfbfbfcff,
- 0xfeff0001, 0xf7fafdfe, 0xffff0002, 0xfafd0000,
- 0xff000001, 0xfbfe0000, 0x01010102, 0xfdff0201,
- 0x01020101, 0xff010202, 0x01020101, 0x01010101,
- 0x01020000, 0x02020000, 0x02020100, 0x02020000,
- 0x0100fdfc, 0x03040604, 0x0000fefd, 0x00010402,
- 0x0000ffff, 0xfdfe0101, 0x00010101, 0xfbfd0101,
- 0x00010101, 0xfbfd0101, 0xff0000ff, 0xfcfe0101,
- 0xff0000ff, 0xfe000201, 0x000000ff, 0x00010302,
- 0x040300ff, 0xfbfbfc00, 0x05040000, 0xfefdfe02,
- 0x0402ff00, 0x00ffff02, 0x01fffe00, 0x0100fe00,
- 0x00fefe01, 0x01ffff00, 0x00fdfe01, 0x00ff0001,
- 0x01fefe01, 0x00000103, 0x02fffe01, 0x00000204,
- 0x02030201, 0x01020200, 0x000100ff, 0x010101fd,
- 0xfe0000ff, 0x010200fc, 0xff0202ff, 0x010200fb,
- 0xff0403ff, 0x010200fb, 0x000402fe, 0x0000fffc,
- 0x000200fc, 0x0000fefc, 0x0102fffb, 0x020301fe,
- 0x00010001, 0xfeff0201, 0xfeff0002, 0xff000301,
- 0xfcfe0003, 0x00010300, 0xfbfd0105, 0x010102fe,
- 0xfbfe0106, 0x010001fe, 0xfbff0105, 0x00ff00fe,
- 0xfcfe0003, 0x00ff00fe, 0xfe00ff01, 0x01000100,
- 0x03020101, 0x02010102, 0x0100ffff, 0x01010001,
- 0x0000fdfc, 0x02010101, 0x0200fdfc, 0x02030202,
- 0x0100fcfb, 0x02010101, 0xfffffcfb, 0x00fffefe,
- 0x0000fefd, 0xfffefdfe, 0x04040302, 0x00000002,
- 0x0100fefc, 0x00000000, 0x0101fffd, 0x00000000,
- 0x020200fe, 0x02000000, 0x010201ff, 0x050300ff,
- 0xff010200, 0x060500fe, 0xfd000100, 0x060400fd,
- 0xfcfe0101, 0x0201fdfc, 0xfcfe0001, 0x00fefcfb,
- 0xfdfdfdff, 0xfffffefd, 0x00010203, 0x01010100,
- 0x02030405, 0x02020101, 0xfe000102, 0xfffffefe,
- 0xff000000, 0xfefefefe, 0x03030100, 0xffff0102,
- 0x04030100, 0xff010203, 0x01fffdfc, 0xfdfdfe00,
- 0xf8f9fcfd, 0x02fffcf9, 0xfcfdff00, 0x0200fefc,
- 0xff000001, 0x0200fefd, 0x00010102, 0x0200ffff,
- 0x01010101, 0x01000000, 0x01010101, 0x01010101,
- 0x02010000, 0x02020303, 0x03010000, 0x02030404,
- 0x00030303, 0x020100ff, 0xff010101, 0x01fffffe,
- 0xfdfffefe, 0x00fefefd, 0xfefefcfc, 0x00fdfefe,
- 0x01fffcfc, 0x02ff0001, 0x0302fffd, 0x05030304,
- 0x030200fe, 0x03030303, 0x0000fefe, 0x01000000,
- 0xff010200, 0xfe03fffd, 0xffff00ff, 0xfe0400fd,
- 0xfefefefe, 0xfe0501fe, 0xfffdfefd, 0xfd0401fe,
- 0x00ff00fe, 0xfb0300ff, 0x02010201, 0xfb020000,
- 0x03020402, 0xfd030101, 0x01010201, 0xfe040100,
- 0xfffcfd04, 0x03010303, 0xfffcfc04, 0x02000203,
- 0x00fcfd04, 0x01ff0202, 0x01fefd04, 0x00fe0102,
- 0x01fefc02, 0x00fd0002, 0x00fefd02, 0x02fe0001,
- 0x00ffff03, 0x03000000, 0xfefefe02, 0x02ffffff,
- 0x04030202, 0xff000103, 0x02010001, 0xfefeff01,
- 0x01020102, 0xffff0001, 0x03040304, 0x01010102,
- 0x02020203, 0x01010101, 0x00fffeff, 0xffffffff,
- 0xfffefdfd, 0xfefefefe, 0xfdfdfcfc, 0xfdfdfcfc,
- 0xfdff0102, 0x0403fefc, 0xff010202, 0x0201fefd,
- 0x03030201, 0xfefffe00, 0x040200ff, 0xfdff0002,
- 0x0300fefe, 0xfd000203, 0xfffdfe00, 0xff020201,
- 0xfbfcff03, 0x000200fd, 0xfafe0306, 0x010300fb,
- 0x00fe03fe, 0x01fefe03, 0x00fd04fd, 0x02fffe03,
- 0x00fd05fd, 0x02fffe04, 0xfffc04fe, 0x02fefd03,
- 0x00fd04fd, 0x02fffd03, 0x00fe05fe, 0x02fffd03,
- 0x01fd04fe, 0x02fffe03, 0x01fe03fe, 0x0200fe03,
- 0xff000001, 0xfffc0201, 0xff000002, 0xfefc0201,
- 0xff010101, 0x00fe0402, 0xff01ff00, 0x01ff0502,
- 0xfe00ff00, 0x01ff0501, 0xfeffff00, 0xfffd0300,
- 0xfe000101, 0xfffd0300, 0xfd000101, 0x00fe0300,
- 0x01ff0001, 0x05040201, 0x01ff0001, 0x07050101,
- 0xfffe0000, 0x050300ff, 0xfffeff00, 0x0302ffff,
- 0xfffdff00, 0x0201ffff, 0xfefcfeff, 0x0000fefe,
- 0xfffefeff, 0x0000fefe, 0x00ffff00, 0x0000ffff,
- 0xff000303, 0x040401ff, 0xfe000302, 0x010100fe,
- 0xff010302, 0x000100ff, 0xff000201, 0xfe00ffff,
- 0xff000100, 0xfe00fffe, 0xff000100, 0x0001fffe,
- 0xfdff0101, 0x0301fdfc, 0xfdff0201, 0x0301fcfb,
- 0x0100fefd, 0xfe000101, 0x01010100, 0xfdff0000,
- 0x01010201, 0xfeffff00, 0xfffdff00, 0xff00ffff,
- 0xfdfafd00, 0x0101fffe, 0xfdfcff02, 0x020200fe,
- 0x01010405, 0x02030100, 0x01020405, 0x0100ff00,
- 0xfbfe00fe, 0x0000fdfa, 0x000100fe, 0x020201ff,
- 0x030100fe, 0x01020202, 0x040200fe, 0x01010203,
- 0x030200fe, 0x00ff0002, 0x0101fffd, 0x01ffff00,
- 0x0001fffc, 0x0200feff, 0xff00fffc, 0x0401feff,
- 0xff0000fd, 0x00010101, 0xff0001fd, 0xffff0000,
- 0x000303ff, 0x01000001, 0xfe0202fd, 0x010000ff,
- 0xfe0000fb, 0x020001ff, 0x0001fef9, 0x02020201,
- 0x020300fb, 0x02020303, 0x010402fd, 0xfdfe0000,
- 0xfefe0205, 0xffffff00, 0xfdfcff02, 0xfffffeff,
- 0x01fefe00, 0x0100ff02, 0x03fffeff, 0x0200ff03,
- 0x03000001, 0x02fffe03, 0x03010102, 0x00fefe02,
- 0x01ff0001, 0xfefdfd01, 0x02010001, 0x00000003,
- 0x00fdfbfc, 0xfffeff01, 0x01fffdfe, 0x00000002,
- 0x01020101, 0x01010102, 0x01030403, 0xfffffe00,
- 0x00020303, 0xfefdfdfe, 0xff000101, 0xfefefcfe,
- 0x00000102, 0x0100ff00, 0x01010102, 0x03010101,
- 0xff000000, 0x0001fffe, 0xfefffffe, 0x0000fefd,
- 0xff0000ff, 0x010100fe, 0xff000101, 0x010301ff,
- 0xfe000202, 0x000302ff, 0xffff0103, 0xfe020401,
- 0xfffd0002, 0xfb000503, 0x00feff01, 0xfaff0303,
- 0x040300ff, 0x02010002, 0x0100fffe, 0x0100feff,
- 0xfdfefdfe, 0xfdfaf9fa, 0x01030202, 0xfefdfeff,
- 0x01030202, 0x00000000, 0x00010102, 0x01000101,
- 0x00000001, 0x02010100, 0x00ff0001, 0x01020200,
- 0x01030101, 0x01ffffff, 0x0000fffe, 0x02fffefe,
- 0x0101fefe, 0x03010001, 0xff00fefe, 0x0200ff00,
- 0x00010000, 0x01feffff, 0x01020203, 0x01fefe00,
- 0x02030305, 0x04010101, 0xfbfcfd00, 0x01fffdfc,
- 0x02fffcfa, 0xff000002, 0x0301fefc, 0x00020203,
- 0x02fffefd, 0x00020303, 0x01fefefd, 0xff010102,
- 0x00fefefe, 0xff010202, 0x01ffffff, 0x00020302,
- 0x01feffff, 0xff020202, 0x00feff00, 0xff000102,
- 0x01020406, 0x01000000, 0xfeff0204, 0xfffffefe,
- 0xfeff0102, 0xfffefefe, 0xfe000202, 0x00fffefe,
- 0xfeff0000, 0x0100fffe, 0xfffefdfd, 0x00fffeff,
- 0x0302fefd, 0xfeff0002, 0x050400fe, 0xff000205,
- 0x00020405, 0xfffffeff, 0x01020304, 0xff00ff00,
- 0x01000101, 0xff010001, 0x00fffffe, 0xfdfefe00,
- 0x000000ff, 0xfbfdfdff, 0xff010100, 0xfdfefeff,
- 0xfeffffff, 0x010301ff, 0xfffefeff, 0x05060502,
- 0x01fefdfd, 0xfffffe01, 0x04030201, 0xfdfffd01,
- 0x01000203, 0xfdfffdff, 0x00ff0001, 0x0001ffff,
- 0x01000101, 0x03050202, 0x02010101, 0x00030202,
- 0xfefefffd, 0xfdfffdfd, 0x000101ff, 0xfe00ffff,
- 0xfefe0002, 0xfe010402, 0xfffe0001, 0xff020503,
- 0xfefdfeff, 0xfe010301, 0xfffffeff, 0xff010200,
- 0x01010000, 0x00020201, 0x04040100, 0x01030202,
- 0x0102fffe, 0xfdfefdfe, 0x000100ff, 0xfbfcfcfd,
- 0xfcfd0004, 0xfffefcfc, 0x00ff0005, 0xfffefdff,
- 0x01000004, 0x00000001, 0xfffefd00, 0x00010000,
- 0x0000fe00, 0x01020101, 0x00000002, 0x00010101,
- 0xffff0002, 0x00010101, 0xfefeff01, 0x02020200,
- 0x00fefbfd, 0x00fdfdff, 0x0200fe00, 0x03000002,
- 0x00feff02, 0x02ffff00, 0xffff0205, 0x02ffffff,
- 0xff000205, 0x02ff00ff, 0x00000102, 0x02000100,
- 0x0101ffff, 0x02010202, 0x0000fefd, 0xfffe0000,
- 0x00020300, 0xfdfdfdfe, 0x01030300, 0x02010000,
- 0xfeff00ff, 0x0301ffff, 0xfeff00ff, 0x0200ffff,
- 0xfeff00ff, 0x02ff0000, 0xfeff00ff, 0x01feffff,
- 0xfd000100, 0x02ffffff, 0xff020505, 0x0301ffff,
- 0xff010000, 0x0200fefd, 0x00030101, 0x0100fefe,
- 0x01030101, 0xffff0000, 0x0102ff00, 0xfdff0001,
- 0x0101feff, 0xfcfe0001, 0x010200ff, 0xfdff0001,
- 0x02030101, 0xfdfe0001, 0x02040202, 0xfcfeff01,
- 0x02020201, 0x0200fe00, 0xfdfeffff, 0x01fdfbfc,
- 0x00010100, 0x01ffffff, 0x01010100, 0x02000000,
- 0x02010100, 0x02010101, 0x0200ffff, 0x03020202,
- 0xfffcfcfe, 0x00fefefe, 0x01000001, 0x01000000,
- 0xfefdff00, 0x01020200, 0xfdfeff00, 0x02010100,
- 0xfdfe0001, 0x010000ff, 0xfeff00ff, 0x00ff0000,
- 0x000101ff, 0x00000202, 0x01030200, 0x02030503,
- 0xfe0101ff, 0x01010300, 0xfc0000ff, 0xfffffffc,
- 0x000101ff, 0x02010201, 0x000100fd, 0x02000101,
- 0xfffffdfb, 0x01000100, 0xfdfefdfc, 0x00fffffe,
- 0xfeff0000, 0x00fefefe, 0x00020403, 0x01000000,
- 0x00000102, 0x00ff0000, 0x03020100, 0x02030404,
- 0x040704ff, 0x00000000, 0x030604ff, 0x01010100,
- 0x00040300, 0x010000ff, 0xfe010100, 0xffff00ff,
- 0xffff00ff, 0x000000ff, 0x00ffffff, 0x00000000,
- 0x00fdfdff, 0xfffeff01, 0xfefcfcfd, 0xfffefeff,
- 0x00010202, 0xfd000101, 0x0000fffe, 0xfd000101,
- 0x0100fffe, 0xfe010102, 0x02020201, 0xff020303,
- 0x00010201, 0xff020101, 0xfcfe0100, 0xff0100fe,
- 0xfdff0101, 0xfdff00fe, 0xff000201, 0xfcff0100,
- 0xfefeffff, 0x03040300, 0xfdff0101, 0x000000fe,
- 0x02020202, 0xffff0102, 0x03010101, 0xfefe0003,
- 0xffffff00, 0xfffffe00, 0xfdfcfdff, 0x0200fefe,
- 0x0100ffff, 0x05030202, 0x00fffffe, 0x01000000,
- 0x0002fdfe, 0xff010100, 0xfe01fcff, 0x000202ff,
- 0xfe00fc01, 0xff0101fe, 0xff01fd02, 0xff0101ff,
- 0x0103fe03, 0xff010100, 0x0102fd01, 0xff000100,
- 0x0001fbff, 0x010100ff, 0x0303fd00, 0x03030201,
- 0x01feff00, 0xff020505, 0xfffeff01, 0xfbfe0101,
- 0xfeff0101, 0xfdffffff, 0xffff0101, 0x030402ff,
- 0xffffffff, 0x030400ff, 0x0100ffff, 0xfffffdff,
- 0x02000000, 0xff000002, 0x00fdfe00, 0x02030101,
- 0x01020302, 0xfefe0000, 0x01000302, 0x02030301,
- 0xfffd0000, 0x030202ff, 0x01fdfefe, 0x01010201,
- 0x02fefffe, 0xfeff0101, 0x02000100, 0xfefe0000,
- 0x02000100, 0xfefe0000, 0x00fefefd, 0xfdfefeff,
- 0x03ff0100, 0xff0301ff, 0x03ff0100, 0xfd02ffff,
- 0x03fe0101, 0xfd00fdff, 0x03fe0202, 0xfe01fe00,
- 0x03fd0101, 0xfd01feff, 0x03fd0101, 0xfe01ff00,
- 0x04ff0201, 0xfe01ff00, 0x03ff0100, 0xfd00fdff,
- 0x01fffdfd, 0xfeff0102, 0x0200fefe, 0xfefe0001,
- 0x0201fefd, 0xfffeff01, 0x0402fefd, 0x01fefe00,
- 0x0402fffd, 0x02fefe00, 0x030401ff, 0x02fefdff,
- 0x02040200, 0x02fffeff, 0x00020100, 0x030100ff,
- 0x01fb0003, 0x01000004, 0x02fbfe01, 0x01feff05,
- 0x030000ff, 0xff000103, 0xfe0403fe, 0xfe00fffd,
- 0xfd0503fd, 0xfe0000fd, 0xfe0203ff, 0xff0202fe,
- 0xff000002, 0x00000000, 0x01fefd00, 0xfefe0003
+static const int8 s_svq1InterCodebook8x8[6144] = {
+ -4, -3, 4, 5, 2, 1, 1, 0, -5, -3, 5, 5, 2, 1, 0, 0,
+ -6, -4, 5, 5, 2, 1, 0, 0, -7, -4, 4, 5, 2, 1, 0, 0,
+ -8, -5, 3, 4, 2, 1, 0, 0, -8, -6, 3, 4, 1, 1, 1, 0,
+ -8, -6, 2, 4, 2, 1, 1, 0, -8, -6, 2, 4, 1, 1, 1, 1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -2, -2, -2, -2, -2, -2, -2,
+ -2, -3, -3, -3, -3, -3, -3, -3, -2, -3, -3, -3, -3, -3, -4, -3,
+ -2, -2, -2, -2, -2, -3, -3, -2, 1, 1, 1, 1, 1, 0, -1, -1,
+ 4, 5, 5, 5, 4, 3, 3, 2, 7, 7, 8, 8, 8, 7, 6, 5,
+ 2, 1, 2, 4, 4, 0, -4, -6, 1, 1, 2, 5, 5, 1, -5, -7,
+ 1, 2, 1, 4, 5, 1, -5, -8, 1, 1, 1, 5, 5, 0, -6, -8,
+ 0, 1, 1, 5, 6, 1, -6, -9, 0, 0, 1, 4, 5, 0, -5, -8,
+ 0, 0, 1, 4, 5, 0, -5, -7, 0, 0, 1, 4, 4, 1, -4, -7,
+ 1, 2, 3, 0, -3, -4, -3, -1, 1, 3, 4, 0, -3, -4, -3, -1,
+ 2, 4, 5, 1, -3, -4, -3, -2, 2, 5, 6, 1, -3, -5, -4, -2,
+ 3, 6, 6, 1, -3, -5, -4, -2, 3, 6, 6, 1, -3, -5, -4, -2,
+ 3, 6, 6, 1, -3, -5, -4, -2, 3, 5, 5, 1, -3, -4, -4, -2,
+ 2, 2, 2, 2, 1, 0, 0, -1, 4, 4, 4, 3, 2, 1, 1, 0,
+ 4, 5, 4, 4, 3, 3, 2, 1, 4, 4, 4, 4, 4, 3, 2, 2,
+ 2, 3, 3, 3, 3, 3, 2, 1, -1, -1, -1, -1, 0, 0, 0, 0,
+ -5, -6, -6, -5, -5, -4, -3, -3, -7, -9, -9, -8, -7, -6, -6, -5,
+ 6, 6, 6, 6, 6, 5, 5, 4, 4, 4, 4, 3, 3, 3, 3, 2,
+ 0, -1, -1, -1, -2, -2, -1, -1, -3, -5, -6, -6, -6, -6, -5, -4,
+ -3, -5, -6, -7, -6, -6, -5, -4, -1, -2, -2, -2, -2, -2, -1, -1,
+ 0, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3,
+ 2, 1, -2, -5, -4, 0, 2, 5, 2, 1, -2, -6, -5, 0, 3, 5,
+ 2, 1, -2, -6, -6, -1, 3, 6, 3, 2, -2, -7, -6, 0, 4, 7,
+ 2, 1, -2, -7, -5, 0, 5, 7, 2, 1, -2, -6, -5, 0, 4, 7,
+ 2, 1, -2, -6, -4, 0, 4, 6, 1, 1, -2, -5, -4, 0, 3, 6,
+ -10, -9, -6, -4, -1, 2, 3, 2,-10, -9, -5, -3, 0, 4, 4, 3,
+ -9, -7, -3, -1, 2, 5, 5, 3, -7, -5, -2, 0, 3, 5, 5, 3,
+ -6, -3, 0, 1, 4, 6, 5, 3, -4, -2, 1, 2, 3, 5, 4, 2,
+ -2, 0, 1, 2, 2, 4, 3, 1, -1, 1, 2, 2, 2, 3, 3, 1,
+ -4, -5, -5, -6, -6, -6, -6, -5, -3, -3, -4, -4, -4, -4, -4, -4,
+ 0, 0, 0, 0, -1, -1, -1, -1, 5, 5, 6, 5, 5, 4, 3, 2,
+ 5, 6, 7, 7, 7, 6, 5, 4, 3, 3, 4, 4, 4, 4, 3, 2,
+ 0, -1, 0, 0, -1, -1, 0, -1, -3, -3, -4, -4, -4, -4, -3, -3,
+ 1, -2, -5, 1, 5, 4, 2, 0, 1, -3, -6, 1, 6, 5, 2, 0,
+ 0, -4, -7, 0, 6, 6, 2, 1, -1, -5, -9, -1, 6, 6, 3, 1,
+ -1, -6,-10, -2, 6, 6, 3, 1, -1, -6, -9, -2, 5, 6, 3, 1,
+ -2, -6, -9, -2, 5, 5, 3, 1, -2, -6, -7, -2, 4, 4, 2, 1,
+ -5, -7, -8, -9, -9, -8, -7, -6, -5, -6, -6, -7, -7, -6, -6, -5,
+ -3, -3, -3, -4, -5, -5, -4, -4, -1, 0, 0, -1, -1, -1, -1, -1,
+ 0, 1, 2, 2, 2, 2, 2, 1, 2, 3, 4, 5, 5, 5, 5, 4,
+ 3, 4, 5, 6, 8, 8, 8, 7, 3, 4, 5, 6, 7, 7, 7, 6,
+ 5, 6, 7, 8, 9, 10, 10, 9, 3, 4, 6, 7, 8, 9, 9, 8,
+ 0, 1, 2, 3, 4, 5, 5, 5, -1, -2, -1, -1, 0, 1, 2, 2,
+ -2, -3, -3, -3, -3, -2, -1, 0, -3, -4, -5, -5, -5, -5, -5, -4,
+ -4, -5, -5, -6, -7, -7, -6, -5, -3, -4, -5, -6, -7, -7, -6, -6,
+ 13, 7, 0, -3, -3, -4, -4, -5, 14, 7, 0, -3, -3, -4, -4, -4,
+ 15, 8, -1, -4, -4, -4, -5, -4, 15, 8, -1, -4, -4, -5, -4, -3,
+ 15, 7, -1, -4, -5, -5, -5, -4, 14, 7, -1, -4, -4, -4, -4, -3,
+ 12, 6, -1, -4, -4, -4, -4, -3, 11, 5, -1, -4, -4, -4, -4, -3,
+ -17, -4, 5, 4, 4, 4, 3, 3,-18, -5, 5, 4, 4, 4, 3, 3,
+ -19, -5, 6, 4, 4, 4, 3, 2,-20, -5, 6, 4, 4, 4, 3, 3,
+ -20, -4, 6, 4, 4, 5, 3, 3,-19, -5, 6, 4, 4, 5, 3, 3,
+ -18, -4, 5, 4, 4, 4, 3, 2,-17, -5, 4, 3, 4, 4, 3, 3,
+ -6, -6, -6, -4, -2, 1, 6, 11, -6, -7, -7, -4, -2, 2, 8, 13,
+ -8, -8, -7, -4, -2, 3, 9, 14, -8, -8, -7, -5, -1, 4, 10, 16,
+ -8, -8, -7, -5, -1, 4, 10, 17, -8, -8, -7, -4, 0, 5, 10, 16,
+ -8, -8, -6, -3, 0, 4, 9, 15, -7, -7, -5, -3, 0, 4, 8, 12,
+ 8, 7, 7, 5, 2, -2, -8,-14, 8, 8, 7, 5, 2, -2, -8,-15,
+ 8, 8, 7, 5, 1, -3, -9,-16, 8, 8, 7, 5, 1, -3,-10,-17,
+ 8, 9, 8, 5, 1, -3,-10,-17, 8, 8, 7, 4, 1, -4,-10,-16,
+ 7, 7, 7, 4, 1, -3, -9,-14, 6, 7, 6, 3, 0, -3, -9,-13,
+ 5, 1, -4, -4, -3, -1, 0, 0, 7, 2, -3, -3, -2, -1, 1, 0,
+ 7, 1, -3, -3, -1, 0, 1, 1, 6, 1, -3, -2, -1, 1, 1, 0,
+ 6, 0, -4, -2, -1, 0, 1, 0, 5, 0, -4, -3, -1, 0, 0, -1,
+ 5, 0, -3, -1, 0, 0, 0, -2, 4, 1, -2, -1, 0, 1, 0, -1,
+ 2, 2, 1, 1, -2, -6, -8, -8, 1, 1, 1, 1, -2, -5, -8, -8,
+ 1, 1, 1, 0, -1, -3, -5, -5, 0, 0, 0, 0, -1, -1, -1, -2,
+ 0, -1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 2, 3, 2,
+ 2, 1, 1, 1, 2, 3, 4, 3, 3, 3, 3, 3, 4, 4, 5, 4,
+ -4, -4, -3, -2, 0, 0, 1, 1, -4, -4, -3, -2, -1, 0, 0, 1,
+ -2, -2, -2, -1, -1, -1, 0, 0, 0, 1, 0, 0, 0, 0, 0, -1,
+ 2, 2, 2, 2, 2, 2, 1, 1, 3, 4, 4, 4, 4, 4, 4, 3,
+ 1, 1, 1, 3, 3, 4, 3, 3, -5, -6, -5, -4, -3, -3, -2, -2,
+ -4, -2, -1, -1, -1, -1, 0, 1, -4, -2, -1, -1, -1, -1, 0, 1,
+ -3, -2, -1, -1, -1, 0, 1, 2, -4, -3, -2, -1, -1, 1, 3, 3,
+ -4, -3, -3, -1, -1, 1, 4, 5, -4, -3, -2, -2, -1, 1, 4, 7,
+ -2, -2, -1, -1, 0, 2, 6, 8, -1, 0, 0, 1, 1, 4, 7, 8,
+ -3, -3, -3, -2, -2, -1, -1, 0, -1, -1, 0, 1, 2, 2, 3, 3,
+ 0, 1, 2, 4, 5, 6, 6, 5, -1, 0, 2, 3, 5, 6, 5, 3,
+ -1, -1, 0, 2, 3, 3, 2, 1, -2, -2, -1, 0, -1, -3, -4, -4,
+ 0, 0, -1, -1, -2, -4, -8, -7, 1, 2, 1, 0, -1, -4, -6, -7,
+ -2, 4, 1, -6, 0, 3, 0, 0, -2, 5, 1, -7, 0, 3, 0, 0,
+ -3, 5, 1, -8, 0, 3, -1, -1, -2, 6, 1, -9, 0, 3, 0, -1,
+ -2, 6, 2, -8, 0, 4, 0, -1, -3, 5, 1, -7, 1, 4, 0, 0,
+ -2, 4, 1, -7, 0, 4, 1, 0, -1, 4, 1, -6, 0, 3, 1, 0,
+ 0, 0, 0, 3, 4, 5, 4, 1, 1, 1, 1, 2, 3, 3, 2, 0,
+ 2, 2, 1, 2, 2, 1, -1, -2, 4, 3, 1, 1, 0, -1, -3, -5,
+ 5, 3, 1, -1, -2, -3, -4, -6, 5, 3, 0, -2, -3, -5, -6, -7,
+ 4, 3, 0, -2, -3, -4, -5, -5, 4, 3, 0, -1, -2, -2, -3, -3,
+ 0, 0, 0, 0, -1, -5, -2, 6, 0, 0, 0, 1, -1, -6, -2, 8,
+ 0, 0, 0, 2, 0, -6, -3, 9, 0, -1, 0, 2, 0, -7, -2, 10,
+ 0, -1, 0, 2, -1, -8, -3, 10, 0, -1, -1, 2, -1, -7, -3, 9,
+ 0, -1, 0, 1, -1, -6, -3, 8, 0, 0, 0, 1, 0, -5, -2, 7,
+ 2, 3, 3, 2, 1, 0, -1, -1, 3, 4, 3, 2, 1, 0, -1, -2,
+ 3, 4, 4, 2, 1, -1, -2, -3, 2, 3, 3, 2, 0, -1, -2, -3,
+ -1, 0, 1, 1, 0, -1, -2, -2, -5, -4, -3, -1, 0, 1, 1, 1,
+ -8, -8, -5, -1, 1, 3, 4, 3,-10, -9, -5, 0, 3, 5, 6, 5,
+ -5, -1, 4, 5, 3, 1, 0, 0, -6, -1, 4, 5, 2, 0, -1, -2,
+ -6, -1, 5, 4, 2, -1, -2, -2, -7, -1, 4, 4, 1, -2, -3, -3,
+ -6, -1, 5, 4, 1, -2, -3, -3, -5, 0, 4, 4, 1, -1, -2, -2,
+ -4, 0, 5, 4, 1, -1, -1, -2, -3, 1, 4, 3, 1, -1, -1, -2,
+ -2, -3, -2, 1, 4, 6, 5, 3, -3, -4, -4, 0, 3, 5, 4, 2,
+ -3, -5, -5, -1, 2, 4, 3, 1, -4, -6, -4, -1, 2, 4, 2, -1,
+ -2, -4, -3, 1, 2, 4, 2, -1, -2, -4, -2, 1, 3, 3, 1, -2,
+ -2, -3, -2, 1, 3, 3, 1, -2, -2, -2, -1, 1, 3, 3, 0, -2,
+ -4, -4, -3, -2, -1, 2, 5, 7, -4, -4, -3, -3, -2, 1, 5, 7,
+ -2, -3, -2, -3, -3, -1, 3, 5, -1, -1, 0, -2, -3, -2, 2, 4,
+ 1, 1, 1, -1, -4, -3, 1, 3, 4, 3, 2, -1, -4, -3, -1, 1,
+ 6, 4, 3, 0, -3, -3, -2, 0, 6, 5, 3, 1, -2, -3, -2, -1,
+ 12, 11, 8, 4, 0, -2, -2, -1, 10, 9, 6, 2, -1, -2, -1, 0,
+ 4, 3, 2, 0, -1, -1, 0, 1, -1, -1, -1, -1, -2, 0, 1, 2,
+ -3, -5, -4, -2, -2, 0, 2, 3, -5, -5, -4, -2, -1, 0, 1, 2,
+ -5, -5, -4, -2, -1, 0, 1, 1, -4, -4, -3, -2, -2, -1, 0, 0,
+ 3, 3, 2, -1, -3, -4, -3, -2, 3, 2, 0, -2, -4, -4, -3, -2,
+ 2, 2, 1, -1, -3, -5, -4, -3, 3, 3, 3, 1, -2, -3, -3, -3,
+ 4, 4, 4, 3, 0, -2, -2, -2, 5, 5, 5, 3, 0, -1, -2, -2,
+ 5, 5, 4, 2, -1, -2, -3, -2, 3, 3, 3, 0, -2, -4, -4, -4,
+ -1, -1, 4, -2, -2, 6, 2, -5, -1, 0, 4, -2, -3, 6, 2, -6,
+ -1, 0, 4, -2, -3, 7, 3, -7, -1, -1, 4, -3, -4, 8, 3, -7,
+ 0, -1, 4, -3, -4, 7, 3, -6, -1, -1, 4, -3, -4, 7, 3, -6,
+ -1, -1, 3, -3, -4, 6, 3, -6, -1, 0, 3, -2, -3, 6, 3, -5,
+ 1, -2, -7, 2, 5, -2, -1, 1, 1, -2, -8, 3, 6, -3, -1, 2,
+ 2, -2, -9, 4, 7, -4, -2, 2, 3, -1, -9, 5, 7, -4, -1, 3,
+ 3, -1, -9, 4, 7, -4, -2, 2, 3, -1, -7, 4, 6, -4, -2, 1,
+ 2, 0, -6, 4, 6, -4, -1, 1, 2, 0, -5, 3, 4, -3, -1, 1,
+ -2, 2, 2, 0, 0, -1, -3, -4, -2, 2, 2, 1, 1, 0, -2, -4,
+ -2, 2, 2, 2, 2, 1, -1, -2, -3, 2, 3, 3, 4, 2, 0, -2,
+ -3, 2, 3, 2, 4, 2, 0, -3, -4, 1, 2, 1, 2, 1, -1, -3,
+ -5, 0, 1, 0, 1, 1, -2, -3, -4, 0, 0, 0, 1, 0, -2, -3,
+ 0, 0, -1, -2, -2, 2, 7, 8, 0, 0, -1, -3, -2, 1, 6, 7,
+ 0, 1, -1, -3, -3, 0, 4, 5, 0, 1, 0, -1, -1, 0, 1, 3,
+ 0, 2, 1, 1, 0, -1, 0, 1, -2, 0, 1, 2, 1, 0, -1, -1,
+ -5, -2, 0, 1, 1, 0, -3, -3, -6, -4, -1, 1, 1, -1, -3, -4,
+ -4, -2, 2, 5, 6, 4, 3, 2, -5, -3, 1, 4, 4, 2, 0, 0,
+ -4, -2, 0, 2, 1, -1, -2, -2, -2, -1, 0, 1, 0, -2, -3, -2,
+ -2, 0, 0, 0, -1, -1, -2, -1, -2, -1, -1, 0, 0, 0, 1, 2,
+ -2, -2, -1, -1, 0, 1, 3, 4, -2, -3, -2, -1, 0, 2, 4, 5,
+ 2, 1, -2, -2, -1, 0, 1, 0, 1, 0, -3, -3, -1, 0, 1, 0,
+ 0, -1, -3, -3, -1, 1, 1, 1, 0, 0, -3, -1, 1, 2, 3, 3,
+ 0, -1, -3, -1, 1, 3, 3, 3, -2, -2, -4, -2, 1, 3, 4, 4,
+ -3, -3, -4, -2, 1, 3, 3, 4, -2, -3, -5, -2, 1, 2, 3, 3,
+ 4, 5, 3, 4, 4, 4, 4, 5, 3, 3, 1, 0, 0, 0, 0, 1,
+ 1, 1, -1, -2, -3, -4, -3, -2, 2, 2, 0, -2, -2, -4, -3, -2,
+ 2, 3, 1, -1, -1, -3, -3, -2, 1, 2, 0, 0, -1, -2, -2, -1,
+ 0, 1, 0, -1, -1, -3, -2, -1, 1, 1, 0, -1, -1, -2, -2, -2,
+ -2, -1, -1, 0, 1, 2, 1, 0, 1, 2, 3, 5, 6, 5, 5, 3,
+ 1, 2, 3, 4, 5, 5, 4, 3, -2, -2, -3, -3, -2, -1, 0, 0,
+ -3, -3, -4, -5, -4, -3, -2, -1, -1, -1, -2, -2, -2, -1, 0, 0,
+ 0, 1, 0, -1, -1, 0, 0, 1, -1, 0, -1, -2, -3, -2, -2, -1,
+ 7, 7, 6, 5, 4, 2, -1, -2, 3, 3, 2, 2, 1, 0, -2, -3,
+ 0, -1, -1, -1, 0, -1, -2, -2, -1, -3, -2, -1, 0, 0, 0, 1,
+ 0, -2, -2, -1, -1, 1, 2, 2, 3, 1, -1, -1, -1, 1, 2, 2,
+ 3, 1, -2, -3, -2, -1, 1, 2, 1, -2, -5, -6, -5, -3, -2, 0,
+ 0, -1, -2, -3, -1, 0, -2, -2, 0, 0, -1, -1, 0, 1, -1, -2,
+ 0, 0, -2, -1, 0, 0, 0, -2, -1, -2, -3, -3, -2, -1, -3, -3,
+ -1, -2, -3, -3, -2, -2, -3, -4, 2, 2, 0, 0, 0, 0, -1, -2,
+ 5, 5, 3, 2, 2, 2, 0, -1, 8, 8, 6, 5, 4, 4, 2, 1,
+ -7, -8, -6, -3, -1, -1, -2, -1, -5, -5, -3, 0, 2, 1, 0, 0,
+ -1, -1, 0, 3, 4, 3, 1, 1, 2, 1, 1, 3, 4, 3, 2, 2,
+ 3, 2, 0, 2, 3, 2, 1, 2, 4, 2, -1, -1, 0, 1, 1, 1,
+ 3, 2, -2, -3, -2, -1, 0, 1, 3, 1, -3, -4, -3, -2, 0, 1,
+ -4, -2, -1, 2, 3, 3, 1, 0, -7, -5, -4, -2, 0, 0, -1, -2,
+ -6, -5, -5, -4, -2, -2, -2, -3, -1, 0, -1, -1, 0, 0, 0, -1,
+ 2, 3, 2, 2, 2, 2, 1, 0, 3, 5, 4, 3, 1, 0, 1, 0,
+ 3, 4, 3, 2, 0, -1, -1, -1, 5, 5, 3, 1, 0, -1, -1, -1,
+ 1, 1, 0, -1, -3, -5, -6, -4, 1, 1, 0, 0, 0, -3, -3, -1,
+ 0, -1, -1, 0, 1, 0, 1, 3, -2, -2, -3, -1, 2, 2, 4, 7,
+ -2, -2, -2, 0, 2, 2, 3, 6, -1, 0, 0, 1, 1, 0, 0, 3,
+ 0, 3, 3, 3, 1, -2, -3, -1, 1, 3, 4, 3, 0, -3, -5, -4,
+ 0, 2, 0, -1, -3, -4, -2, -2, 1, 4, 2, 0, -2, -3, -2, -1,
+ 3, 6, 3, 1, -2, -2, 0, -1, 4, 7, 4, 1, -2, -3, -1, 0,
+ 3, 6, 3, 0, -3, -3, -1, 0, 1, 3, 0, -1, -3, -2, 1, 1,
+ 0, 1, -1, -2, -3, -1, 2, 2, -2, -1, -3, -3, -3, -1, 1, 2,
+ 3, 1, -1, 0, 1, 0, 0, 0, 2, -1, -2, -1, 1, 0, -1, -1,
+ 1, -1, -2, 0, 1, 0, -2, -3, 0, -2, -1, 1, 3, 1, -3, -5,
+ 0, -2, -1, 2, 5, 2, -3, -5, 0, -2, -1, 4, 6, 3, -2, -5,
+ 0, -2, 0, 4, 7, 4, -2, -4, 0, -2, 0, 4, 6, 4, -2, -4,
+ -2, -2, -3, -4, -3, -2, -1, 0, 1, 1, 0, -1, -1, -1, 0, 1,
+ 3, 3, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2, 1, 0, 0, 1,
+ 0, 0, 0, 0, -1, -1, -1, -1, -4, -4, -4, -4, -4, -4, -4, -3,
+ -3, -3, -2, -3, -2, -1, -1, 0, 3, 4, 4, 5, 5, 6, 6, 7,
+ -1, -2, 7, -2, -4, -1, -1, 0, -1, -2, 9, -1, -4, -1, -1, 0,
+ -1, -3, 10, -1, -4, -1, -1, 1, -1, -3, 10, -2, -3, -1, -1, 2,
+ -1, -2, 10, -2, -4, -1, -1, 2, -1, -2, 9, -2, -4, -1, -1, 2,
+ -1, -2, 8, -2, -4, 0, -1, 1, 0, -2, 7, -2, -3, -1, 0, 2,
+ 3, -4, 1, 3, -3, -2, 1, 0, 3, -5, 1, 4, -3, -2, 1, 0,
+ 3, -6, 2, 5, -3, -1, 3, 0, 3, -6, 2, 5, -3, -1, 2, 0,
+ 3, -6, 1, 5, -4, -2, 3, 0, 3, -6, 1, 5, -3, -2, 2, 0,
+ 2, -6, 1, 4, -3, -1, 1, 0, 2, -6, 1, 4, -2, -1, 1, 0,
+ 0, 0, 1, 1, 1, 0, 0, 2, 0, -1, 1, 1, 1, 0, 0, 2,
+ 0, -1, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0, -1, 0,
+ 1, 0, 1, 0, 0, -1, -2, -1, 3, 1, 1, 0, 0, -2, -4, -3,
+ 5, 3, 2, 1, 0, -3, -5, -4, 5, 4, 2, 0, -1, -4, -5, -5,
+ 1, 0, -1, -2, -2, -3, -6, -9, 2, 0, -1, -1, 0, 0, -3, -6,
+ 1, 0, 0, -1, 0, 0, -2, -5, 2, 1, 1, 1, 1, 2, -1, -3,
+ 1, 1, 2, 1, 2, 2, 1, -1, 1, 1, 2, 1, 1, 1, 1, 1,
+ 0, 0, 2, 1, 0, 0, 2, 2, 0, 1, 2, 2, 0, 0, 2, 2,
+ -4, -3, 0, 1, 4, 6, 4, 3, -3, -2, 0, 0, 2, 4, 1, 0,
+ -1, -1, 0, 0, 1, 1, -2, -3, 1, 1, 1, 0, 1, 1, -3, -5,
+ 1, 1, 1, 0, 1, 1, -3, -5, -1, 0, 0, -1, 1, 1, -2, -4,
+ -1, 0, 0, -1, 1, 2, 0, -2, -1, 0, 0, 0, 2, 3, 1, 0,
+ -1, 0, 3, 4, 0, -4, -5, -5, 0, 0, 4, 5, 2, -2, -3, -2,
+ 0, -1, 2, 4, 2, -1, -1, 0, 0, -2, -1, 1, 0, -2, 0, 1,
+ 1, -2, -2, 0, 0, -1, -1, 1, 1, -2, -3, 0, 1, 0, -1, 0,
+ 1, -2, -2, 1, 3, 1, 0, 0, 1, -2, -1, 2, 4, 2, 0, 0,
+ 1, 2, 3, 2, 0, 2, 2, 1, -1, 0, 1, 0, -3, 1, 1, 1,
+ -1, 0, 0, -2, -4, 0, 2, 1, -1, 2, 2, -1, -5, 0, 2, 1,
+ -1, 3, 4, -1, -5, 0, 2, 1, -2, 2, 4, 0, -4, -1, 0, 0,
+ -4, 0, 2, 0, -4, -2, 0, 0, -5, -1, 2, 1, -2, 1, 3, 2,
+ 1, 0, 1, 0, 1, 2, -1, -2, 2, 0, -1, -2, 1, 3, 0, -1,
+ 3, 0, -2, -4, 0, 3, 1, 0, 5, 1, -3, -5, -2, 2, 1, 1,
+ 6, 1, -2, -5, -2, 1, 0, 1, 5, 1, -1, -5, -2, 0, -1, 0,
+ 3, 0, -2, -4, -2, 0, -1, 0, 1, -1, 0, -2, 0, 1, 0, 1,
+ 1, 1, 2, 3, 2, 1, 1, 2, -1, -1, 0, 1, 1, 0, 1, 1,
+ -4, -3, 0, 0, 1, 1, 1, 2, -4, -3, 0, 2, 2, 2, 3, 2,
+ -5, -4, 0, 1, 1, 1, 1, 2, -5, -4, -1, -1, -2, -2, -1, 0,
+ -3, -2, 0, 0, -2, -3, -2, -1, 2, 3, 4, 4, 2, 0, 0, 0,
+ -4, -2, 0, 1, 0, 0, 0, 0, -3, -1, 1, 1, 0, 0, 0, 0,
+ -2, 0, 2, 2, 0, 0, 0, 2, -1, 1, 2, 1, -1, 0, 3, 5,
+ 0, 2, 1, -1, -2, 0, 5, 6, 0, 1, 0, -3, -3, 0, 4, 6,
+ 1, 1, -2, -4, -4, -3, 1, 2, 1, 0, -2, -4, -5, -4, -2, 0,
+ -1, -3, -3, -3, -3, -2, -1, -1, 3, 2, 1, 0, 0, 1, 1, 1,
+ 5, 4, 3, 2, 1, 1, 2, 2, 2, 1, 0, -2, -2, -2, -1, -1,
+ 0, 0, 0, -1, -2, -2, -2, -2, 0, 1, 3, 3, 2, 1, -1, -1,
+ 0, 1, 3, 4, 3, 2, 1, -1, -4, -3, -1, 1, 0, -2, -3, -3,
+ -3, -4, -7, -8, -7, -4, -1, 2, 0, -1, -3, -4, -4, -2, 0, 2,
+ 1, 0, 0, -1, -3, -2, 0, 2, 2, 1, 1, 0, -1, -1, 0, 2,
+ 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 0, 0, 1, 2, 3, 3, 2, 2, 0, 0, 1, 3, 4, 4, 3, 2,
+ 3, 3, 3, 0, -1, 0, 1, 2, 1, 1, 1, -1, -2, -1, -1, 1,
+ -2, -2, -1, -3, -3, -2, -2, 0, -4, -4, -2, -2, -2, -2, -3, 0,
+ -4, -4, -1, 1, 1, 0, -1, 2, -3, -1, 2, 3, 4, 3, 3, 5,
+ -2, 0, 2, 3, 3, 3, 3, 3, -2, -2, 0, 0, 0, 0, 0, 1,
+ 0, 2, 1, -1, -3, -1, 3, -2, -1, 0, -1, -1, -3, 0, 4, -2,
+ -2, -2, -2, -2, -2, 1, 5, -2, -3, -2, -3, -1, -2, 1, 4, -3,
+ -2, 0, -1, 0, -1, 0, 3, -5, 1, 2, 1, 2, 0, 0, 2, -5,
+ 2, 4, 2, 3, 1, 1, 3, -3, 1, 2, 1, 1, 0, 1, 4, -2,
+ 4, -3, -4, -1, 3, 3, 1, 3, 4, -4, -4, -1, 3, 2, 0, 2,
+ 4, -3, -4, 0, 2, 2, -1, 1, 4, -3, -2, 1, 2, 1, -2, 0,
+ 2, -4, -2, 1, 2, 0, -3, 0, 2, -3, -2, 0, 1, 0, -2, 2,
+ 3, -1, -1, 0, 0, 0, 0, 3, 2, -2, -2, -2, -1, -1, -1, 2,
+ 2, 2, 3, 4, 3, 1, 0, -1, 1, 0, 1, 2, 1, -1, -2, -2,
+ 2, 1, 2, 1, 1, 0, -1, -1, 4, 3, 4, 3, 2, 1, 1, 1,
+ 3, 2, 2, 2, 1, 1, 1, 1, -1, -2, -1, 0, -1, -1, -1, -1,
+ -3, -3, -2, -1, -2, -2, -2, -2, -4, -4, -3, -3, -4, -4, -3, -3,
+ 2, 1, -1, -3, -4, -2, 3, 4, 2, 2, 1, -1, -3, -2, 1, 2,
+ 1, 2, 3, 3, 0, -2, -1, -2, -1, 0, 2, 4, 2, 0, -1, -3,
+ -2, -2, 0, 3, 3, 2, 0, -3, 0, -2, -3, -1, 1, 2, 2, -1,
+ 3, -1, -4, -5, -3, 0, 2, 0, 6, 3, -2, -6, -5, 0, 3, 1,
+ -2, 3, -2, 0, 3, -2, -2, 1, -3, 4, -3, 0, 3, -2, -1, 2,
+ -3, 5, -3, 0, 4, -2, -1, 2, -2, 4, -4, -1, 3, -3, -2, 2,
+ -3, 4, -3, 0, 3, -3, -1, 2, -2, 5, -2, 0, 3, -3, -1, 2,
+ -2, 4, -3, 1, 3, -2, -1, 2, -2, 3, -2, 1, 3, -2, 0, 2,
+ 1, 0, 0, -1, 1, 2, -4, -1, 2, 0, 0, -1, 1, 2, -4, -2,
+ 1, 1, 1, -1, 2, 4, -2, 0, 0, -1, 1, -1, 2, 5, -1, 1,
+ 0, -1, 0, -2, 1, 5, -1, 1, 0, -1, -1, -2, 0, 3, -3, -1,
+ 1, 1, 0, -2, 0, 3, -3, -1, 1, 1, 0, -3, 0, 3, -2, 0,
+ 1, 0, -1, 1, 1, 2, 4, 5, 1, 0, -1, 1, 1, 1, 5, 7,
+ 0, 0, -2, -1, -1, 0, 3, 5, 0, -1, -2, -1, -1, -1, 2, 3,
+ 0, -1, -3, -1, -1, -1, 1, 2, -1, -2, -4, -2, -2, -2, 0, 0,
+ -1, -2, -2, -1, -2, -2, 0, 0, 0, -1, -1, 0, -1, -1, 0, 0,
+ 3, 3, 0, -1, -1, 1, 4, 4, 2, 3, 0, -2, -2, 0, 1, 1,
+ 2, 3, 1, -1, -1, 0, 1, 0, 1, 2, 0, -1, -1, -1, 0, -2,
+ 0, 1, 0, -1, -2, -1, 0, -2, 0, 1, 0, -1, -2, -1, 1, 0,
+ 1, 1, -1, -3, -4, -3, 1, 3, 1, 2, -1, -3, -5, -4, 1, 3,
+ -3, -2, 0, 1, 1, 1, 0, -2, 0, 1, 1, 1, 0, 0, -1, -3,
+ 1, 2, 1, 1, 0, -1, -1, -2, 0, -1, -3, -1, -1, -1, 0, -1,
+ 0, -3, -6, -3, -2, -1, 1, 1, 2, -1, -4, -3, -2, 0, 2, 2,
+ 5, 4, 1, 1, 0, 1, 3, 2, 5, 4, 2, 1, 0, -1, 0, 1,
+ -2, 0, -2, -5, -6, -3, 0, 0, -2, 0, 1, 0, -1, 1, 2, 2,
+ -2, 0, 1, 3, 2, 2, 2, 1, -2, 0, 2, 4, 3, 2, 1, 1,
+ -2, 0, 2, 3, 2, 0, -1, 0, -3, -1, 1, 1, 0, -1, -1, 1,
+ -4, -1, 1, 0, -1, -2, 0, 2, -4, -1, 0, -1, -1, -2, 1, 4,
+ -3, 0, 0, -1, 1, 1, 1, 0, -3, 1, 0, -1, 0, 0, -1, -1,
+ -1, 3, 3, 0, 1, 0, 0, 1, -3, 2, 2, -2, -1, 0, 0, 1,
+ -5, 0, 0, -2, -1, 1, 0, 2, -7, -2, 1, 0, 1, 2, 2, 2,
+ -5, 0, 3, 2, 3, 3, 2, 2, -3, 2, 4, 1, 0, 0, -2, -3,
+ 5, 2, -2, -2, 0, -1, -1, -1, 2, -1, -4, -3, -1, -2, -1, -1,
+ 0, -2, -2, 1, 2, -1, 0, 1, -1, -2, -1, 3, 3, -1, 0, 2,
+ 1, 0, 0, 3, 3, -2, -1, 2, 2, 1, 1, 3, 2, -2, -2, 0,
+ 1, 0, -1, 1, 1, -3, -3, -2, 1, 0, 1, 2, 3, 0, 0, 0,
+ -4, -5, -3, 0, 1, -1, -2, -1, -2, -3, -1, 1, 2, 0, 0, 0,
+ 1, 1, 2, 1, 2, 1, 1, 1, 3, 4, 3, 1, 0, -2, -1, -1,
+ 3, 3, 2, 0, -2, -3, -3, -2, 1, 1, 0, -1, -2, -4, -2, -2,
+ 2, 1, 0, 0, 0, -1, 0, 1, 2, 1, 1, 1, 1, 1, 1, 3,
+ 0, 0, 0, -1, -2, -1, 1, 0, -2, -1, -1, -2, -3, -2, 0, 0,
+ -1, 0, 0, -1, -2, 0, 1, 1, 1, 1, 0, -1, -1, 1, 3, 1,
+ 2, 2, 0, -2, -1, 2, 3, 0, 3, 1, -1, -1, 1, 4, 2, -2,
+ 2, 0, -3, -1, 3, 5, 0, -5, 1, -1, -2, 0, 3, 3, -1, -6,
+ -1, 0, 3, 4, 2, 0, 1, 2, -2, -1, 0, 1, -1, -2, 0, 1,
+ -2, -3, -2, -3, -6, -7, -6, -3, 2, 2, 3, 1, -1, -2, -3, -2,
+ 2, 2, 3, 1, 0, 0, 0, 0, 2, 1, 1, 0, 1, 1, 0, 1,
+ 1, 0, 0, 0, 0, 1, 1, 2, 1, 0, -1, 0, 0, 2, 2, 1,
+ 1, 1, 3, 1, -1, -1, -1, 1, -2, -1, 0, 0, -2, -2, -1, 2,
+ -2, -2, 1, 1, 1, 0, 1, 3, -2, -2, 0, -1, 0, -1, 0, 2,
+ 0, 0, 1, 0, -1, -1, -2, 1, 3, 2, 2, 1, 0, -2, -2, 1,
+ 5, 3, 3, 2, 1, 1, 1, 4, 0, -3, -4, -5, -4, -3, -1, 1,
+ -6, -4, -1, 2, 2, 0, 0, -1, -4, -2, 1, 3, 3, 2, 2, 0,
+ -3, -2, -1, 2, 3, 3, 2, 0, -3, -2, -2, 1, 2, 1, 1, -1,
+ -2, -2, -2, 0, 2, 2, 1, -1, -1, -1, -1, 1, 2, 3, 2, 0,
+ -1, -1, -2, 1, 2, 2, 2, -1, 0, -1, -2, 0, 2, 1, 0, -1,
+ 6, 4, 2, 1, 0, 0, 0, 1, 4, 2, -1, -2, -2, -2, -1, -1,
+ 2, 1, -1, -2, -2, -2, -2, -1, 2, 2, 0, -2, -2, -2, -1, 0,
+ 0, 0, -1, -2, -2, -1, 0, 1, -3, -3, -2, -1, -1, -2, -1, 0,
+ -3, -2, 2, 3, 2, 0, -1, -2, -2, 0, 4, 5, 5, 2, 0, -1,
+ 5, 4, 2, 0, -1, -2, -1, -1, 4, 3, 2, 1, 0, -1, 0, -1,
+ 1, 1, 0, 1, 1, 0, 1, -1, -2, -1, -1, 0, 0, -2, -2, -3,
+ -1, 0, 0, 0, -1, -3, -3, -5, 0, 1, 1, -1, -1, -2, -2, -3,
+ -1, -1, -1, -2, -1, 1, 3, 1, -1, -2, -2, -1, 2, 5, 6, 5,
+ -3, -3, -2, 1, 1, -2, -1, -1, 1, 2, 3, 4, 1, -3, -1, -3,
+ 3, 2, 0, 1, -1, -3, -1, -3, 1, 0, -1, 0, -1, -1, 1, 0,
+ 1, 1, 0, 1, 2, 2, 5, 3, 1, 1, 1, 2, 2, 2, 3, 0,
+ -3, -1, -2, -2, -3, -3, -1, -3, -1, 1, 1, 0, -1, -1, 0, -2,
+ 2, 0, -2, -2, 2, 4, 1, -2, 1, 0, -2, -1, 3, 5, 2, -1,
+ -1, -2, -3, -2, 1, 3, 1, -2, -1, -2, -1, -1, 0, 2, 1, -1,
+ 0, 0, 1, 1, 1, 2, 2, 0, 0, 1, 4, 4, 2, 2, 3, 1,
+ -2, -1, 2, 1, -2, -3, -2, -3, -1, 0, 1, 0, -3, -4, -4, -5,
+ 4, 0, -3, -4, -4, -4, -2, -1, 5, 0, -1, 0, -1, -3, -2, -1,
+ 4, 0, 0, 1, 1, 0, 0, 0, 0, -3, -2, -1, 0, 0, 1, 0,
+ 0, -2, 0, 0, 1, 1, 2, 1, 2, 0, 0, 0, 1, 1, 1, 0,
+ 2, 0, -1, -1, 1, 1, 1, 0, 1, -1, -2, -2, 0, 2, 2, 2,
+ -3, -5, -2, 0, -1, -3, -3, 0, 0, -2, 0, 2, 2, 0, 0, 3,
+ 2, -1, -2, 0, 0, -1, -1, 2, 5, 2, -1, -1, -1, -1, -1, 2,
+ 5, 2, 0, -1, -1, 0, -1, 2, 2, 1, 0, 0, 0, 1, 0, 2,
+ -1, -1, 1, 1, 2, 2, 1, 2, -3, -2, 0, 0, 0, 0, -2, -1,
+ 0, 3, 2, 0, -2, -3, -3, -3, 0, 3, 3, 1, 0, 0, 1, 2,
+ -1, 0, -1, -2, -1, -1, 1, 3, -1, 0, -1, -2, -1, -1, 0, 2,
+ -1, 0, -1, -2, 0, 0, -1, 2, -1, 0, -1, -2, -1, -1, -2, 1,
+ 0, 1, 0, -3, -1, -1, -1, 2, 5, 5, 2, -1, -1, -1, 1, 3,
+ 0, 0, 1, -1, -3, -2, 0, 2, 1, 1, 3, 0, -2, -2, 0, 1,
+ 1, 1, 3, 1, 0, 0, -1, -1, 0, -1, 2, 1, 1, 0, -1, -3,
+ -1, -2, 1, 1, 1, 0, -2, -4, -1, 0, 2, 1, 1, 0, -1, -3,
+ 1, 1, 3, 2, 1, 0, -2, -3, 2, 2, 4, 2, 1, -1, -2, -4,
+ 1, 2, 2, 2, 0, -2, 0, 2, -1, -1, -2, -3, -4, -5, -3, 1,
+ 0, 1, 1, 0, -1, -1, -1, 1, 0, 1, 1, 1, 0, 0, 0, 2,
+ 0, 1, 1, 2, 1, 1, 1, 2, -1, -1, 0, 2, 2, 2, 2, 3,
+ -2, -4, -4, -1, -2, -2, -2, 0, 1, 0, 0, 1, 0, 0, 0, 1,
+ 0, -1, -3, -2, 0, 2, 2, 1, 0, -1, -2, -3, 0, 1, 1, 2,
+ 1, 0, -2, -3, -1, 0, 0, 1, -1, 0, -1, -2, 0, 0, -1, 0,
+ -1, 1, 1, 0, 2, 2, 0, 0, 0, 2, 3, 1, 3, 5, 3, 2,
+ -1, 1, 1, -2, 0, 3, 1, 1, -1, 0, 0, -4, -4, -1, -1, -1,
+ -1, 1, 1, 0, 1, 2, 1, 2, -3, 0, 1, 0, 1, 1, 0, 2,
+ -5, -3, -1, -1, 0, 1, 0, 1, -4, -3, -2, -3, -2, -1, -1, 0,
+ 0, 0, -1, -2, -2, -2, -2, 0, 3, 4, 2, 0, 0, 0, 0, 1,
+ 2, 1, 0, 0, 0, 0, -1, 0, 0, 1, 2, 3, 4, 4, 3, 2,
+ -1, 4, 7, 4, 0, 0, 0, 0, -1, 4, 6, 3, 0, 1, 1, 1,
+ 0, 3, 4, 0, -1, 0, 0, 1, 0, 1, 1, -2, -1, 0, -1, -1,
+ -1, 0, -1, -1, -1, 0, 0, 0, -1, -1, -1, 0, 0, 0, 0, 0,
+ -1, -3, -3, 0, 1, -1, -2, -1, -3, -4, -4, -2, -1, -2, -2, -1,
+ 2, 2, 1, 0, 1, 1, 0, -3, -2, -1, 0, 0, 1, 1, 0, -3,
+ -2, -1, 0, 1, 2, 1, 1, -2, 1, 2, 2, 2, 3, 3, 2, -1,
+ 1, 2, 1, 0, 1, 1, 2, -1, 0, 1, -2, -4, -2, 0, 1, -1,
+ 1, 1, -1, -3, -2, 0, -1, -3, 1, 2, 0, -1, 0, 1, -1, -4,
+ -1, -1, -2, -2, 0, 3, 4, 3, 1, 1, -1, -3, -2, 0, 0, 0,
+ 2, 2, 2, 2, 2, 1, -1, -1, 1, 1, 1, 3, 3, 0, -2, -2,
+ 0, -1, -1, -1, 0, -2, -1, -1, -1, -3, -4, -3, -2, -2, 0, 2,
+ -1, -1, 0, 1, 2, 2, 3, 5, -2, -1, -1, 0, 0, 0, 0, 1,
+ -2, -3, 2, 0, 0, 1, 1, -1, -1, -4, 1, -2, -1, 2, 2, 0,
+ 1, -4, 0, -2, -2, 1, 1, -1, 2, -3, 1, -1, -1, 1, 1, -1,
+ 3, -2, 3, 1, 0, 1, 1, -1, 1, -3, 2, 1, 0, 1, 0, -1,
+ -1, -5, 1, 0, -1, 0, 1, 1, 0, -3, 3, 3, 1, 2, 3, 3,
+ 0, -1, -2, 1, 5, 5, 2, -1, 1, -1, -2, -1, 1, 1, -2, -5,
+ 1, 1, -1, -2, -1, -1, -1, -3, 1, 1, -1, -1, -1, 2, 4, 3,
+ -1, -1, -1, -1, -1, 0, 4, 3, -1, -1, 0, 1, -1, -3, -1, -1,
+ 0, 0, 0, 2, 2, 0, 0, -1, 0, -2, -3, 0, 1, 1, 3, 2,
+ 2, 3, 2, 1, 0, 0, -2, -2, 2, 3, 0, 1, 1, 3, 3, 2,
+ 0, 0, -3, -1, -1, 2, 2, 3, -2, -2, -3, 1, 1, 2, 1, 1,
+ -2, -1, -2, 2, 1, 1, -1, -2, 0, 1, 0, 2, 0, 0, -2, -2,
+ 0, 1, 0, 2, 0, 0, -2, -2, -3, -2, -2, 0, -1, -2, -2, -3,
+ 0, 1, -1, 3, -1, 1, 3, -1, 0, 1, -1, 3, -1, -1, 2, -3,
+ 1, 1, -2, 3, -1, -3, 0, -3, 2, 2, -2, 3, 0, -2, 1, -2,
+ 1, 1, -3, 3, -1, -2, 1, -3, 1, 1, -3, 3, 0, -1, 1, -2,
+ 1, 2, -1, 4, 0, -1, 1, -2, 0, 1, -1, 3, -1, -3, 0, -3,
+ -3, -3, -1, 1, 2, 1, -1, -2, -2, -2, 0, 2, 1, 0, -2, -2,
+ -3, -2, 1, 2, 1, -1, -2, -1, -3, -2, 2, 4, 0, -2, -2, 1,
+ -3, -1, 2, 4, 0, -2, -2, 2, -1, 1, 4, 3, -1, -3, -2, 2,
+ 0, 2, 4, 2, -1, -2, -1, 2, 0, 1, 2, 0, -1, 0, 1, 3,
+ 3, 0, -5, 1, 4, 0, 0, 1, 1, -2, -5, 2, 5, -1, -2, 1,
+ -1, 0, 0, 3, 3, 1, 0, -1, -2, 3, 4, -2, -3, -1, 0, -2,
+ -3, 3, 5, -3, -3, 0, 0, -2, -1, 3, 2, -2, -2, 2, 2, -1,
+ 2, 0, 0, -1, 0, 0, 0, 0, 0, -3, -2, 1, 3, 0, -2, -2
};
-const uint32 *const s_svq1InterCodebooks[6] = {
+static const int8 *const s_svq1InterCodebooks[6] = {
s_svq1InterCodebook4x2, s_svq1InterCodebook4x4,
s_svq1InterCodebook8x4, s_svq1InterCodebook8x8,
0, 0
};
-static const uint32 s_svq1IntraCodebook4x2[192] = {
- 0x0b0d0d0c, 0xeff1f6f9, 0xf6f4f1f0, 0x0c0f0f0b,
- 0x0f141102, 0x0d02e8d3, 0xdcfa1415, 0xe5ff100c,
- 0x2d0aebee, 0x15f9ecf5, 0x00e4f82b, 0x03e4f021,
- 0xfaeeeef4, 0x371cf6ec, 0xeeebeefb, 0xecfa1e38,
- 0xea1d1bde, 0xe71a1de2, 0x1a21221e, 0xdfdde1e7,
- 0xe0dcdde1, 0x1f25241d, 0x2226f4b9, 0x212affc1,
- 0xc4e1253a, 0xc3df2237, 0x5d16c7c7, 0x5d15c6c7,
- 0x3e46453b, 0xc4bcbcc1, 0xc0b9b9c0, 0x3e48493f,
- 0x0f0700fe, 0x05fdf6f5, 0xf6f6f8fb, 0x090e0901,
- 0xf5fc080f, 0xf4f5020c, 0x1c1300f8, 0xe6f1ff04,
- 0xf2021bf1, 0xf70116f2, 0xf6f3fafc, 0x2f06f2fa,
- 0x1706ecdd, 0x04060906, 0xea1702fa, 0xeb1c04f9,
- 0x06feea14, 0x08fbe416, 0xf4f0eef6, 0xff021324,
- 0x080400fd, 0x1717f6d3, 0xddec0f28, 0x0104fffc,
- 0x18dffb09, 0x13e60308, 0xfd0604ff, 0xcff31920,
- 0x070f1818, 0xf9ede5ef, 0x182700d1, 0x0407faeb,
- 0xf3f600ff, 0x10050101, 0xf7fd0514, 0xfafefcff,
- 0x0401f9ef, 0x0000070c, 0x0b0c0003, 0xe90001fd,
- 0x00fa1104, 0x00e70306, 0x05080aef, 0x040104f2,
- 0x02040a0d, 0x0201f7e9, 0x0701fd03, 0x14f9e901,
- 0x0c02eef9, 0x090afcfb, 0xe8070a04, 0xf6040306,
- 0x06eaf216, 0xff050500, 0xfcf503fc, 0xf2071ff9,
- 0x2afff0fb, 0xfbf7fefc, 0xfdfaf805, 0xfbebfc2a,
- 0xf4140cee, 0x07f6f30d, 0xeefef7f8, 0x082806f0,
- 0x0400ff0a, 0xf3ff04fd, 0xf10106fe, 0x02010305,
- 0x0301fefc, 0xfcf7000f, 0xfcfcfcfd, 0xfd1005fd,
- 0x04030d02, 0x00f6f8fd, 0xfffcfefa, 0x17fafdfe,
- 0x0107fa06, 0x0105ee04, 0x0ef101ff, 0x04fc06fb,
- 0x06020202, 0x030702e8, 0x030300e6, 0x06010705,
- 0xfdeefe0e, 0x02fc0507, 0x012003fa, 0xf4fafafa,
- 0x0607dc05, 0x000bff09, 0x03050404, 0xda030f04,
- 0xd6fb170a, 0x04040400, 0xf3fa1117, 0x1d01dbf3,
- 0x01fff205, 0x01030005, 0x02fb0400, 0xf6000008,
- 0xfdfe0704, 0x010103f6, 0x030dfff4, 0xfd01ff00,
- 0x0103ff00, 0x0903f7fa, 0xfafc01fa, 0x0800ff08,
- 0x1200fdfd, 0xfffcfffb, 0xfc03fef8, 0xfbff1100,
- 0xf609fe05, 0xfb06fb01, 0x03020204, 0x01f8f20a,
- 0xffeefeff, 0x020114ff, 0x01f701ff, 0xfc16f7ff,
- 0xfd08fc06, 0x05ed07ff, 0xfcfc1ff9, 0xfbfb00fa,
- 0xfcedf8f9, 0x20040101, 0x04f8ff26, 0xf4faf8f9,
- 0x01f900ff, 0x00ff09ff, 0x00ffff09, 0xfd01fa02,
- 0x010200f4, 0x00080101, 0x02000109, 0x00f501fe,
- 0xf6020800, 0x00ff02ff, 0xfb00fcfe, 0x0efffffe,
- 0x05ff07fd, 0x0101f600, 0xff0efbff, 0xfefd01fe,
- 0x060000fa, 0x04f70302, 0xfffffb04, 0xff0803f9,
- 0xf5fffc02, 0x0001020b, 0x090302ff, 0xf1000200,
- 0x03ec0503, 0x0303ff03, 0x0110ff01, 0x0209e302,
- 0xfdfffaf3, 0xfdf8ff24, 0x02040502, 0x030b09db
+static const int8 s_svq1IntraCodebook4x2[768] = {
+ 12, 13, 13, 11, -7,-10,-15,-17,-16,-15,-12,-10, 11, 15, 15, 12,
+ 2, 17, 20, 15,-45,-24, 2, 13, 21, 20, -6,-36, 12, 16, -1,-27,
+ -18,-21, 10, 45,-11,-20, -7, 21, 43, -8,-28, 0, 33,-16,-28, 3,
+ -12,-18,-18, -6,-20,-10, 28, 55, -5,-18,-21,-18, 56, 30, -6,-20,
+ -34, 27, 29,-22,-30, 29, 26,-25, 30, 34, 33, 26,-25,-31,-35,-33,
+ -31,-35,-36,-32, 29, 36, 37, 31,-71,-12, 38, 34,-63, -1, 42, 33,
+ 58, 37,-31,-60, 55, 34,-33,-61,-57,-57, 22, 93,-57,-58, 21, 93,
+ 59, 69, 70, 62,-63,-68,-68,-60,-64,-71,-71,-64, 63, 73, 72, 62,
+ -2, 0, 7, 15,-11,-10, -3, 5, -5, -8,-10,-10, 1, 9, 14, 9,
+ 15, 8, -4,-11, 12, 2,-11,-12, -8, 0, 19, 28, 4, -1,-15,-26,
+ -15, 27, 2,-14,-14, 22, 1, -9, -4, -6,-13,-10, -6,-14, 6, 47,
+ -35,-20, 6, 23, 6, 9, 6, 4, -6, 2, 23,-22, -7, 4, 28,-21,
+ 20,-22, -2, 6, 22,-28, -5, 8,-10,-18,-16,-12, 36, 19, 2, -1,
+ -3, 0, 4, 8,-45,-10, 23, 23, 40, 15,-20,-35, -4, -1, 4, 1,
+ 9, -5,-33, 24, 8, 3,-26, 19, -1, 4, 6, -3, 32, 25,-13,-49,
+ 24, 24, 15, 7,-17,-27,-19, -7,-47, 0, 39, 24,-21, -6, 7, 4,
+ -1, 0,-10,-13, 1, 1, 5, 16, 20, 5, -3, -9, -1, -4, -2, -6,
+ -17, -7, 1, 4, 12, 7, 0, 0, 3, 0, 12, 11, -3, 1, 0,-23,
+ 4, 17, -6, 0, 6, 3,-25, 0,-17, 10, 8, 5,-14, 4, 1, 4,
+ 13, 10, 4, 2,-23, -9, 1, 2, 3, -3, 1, 7, 1,-23, -7, 20,
+ -7,-18, 2, 12, -5, -4, 10, 9, 4, 10, 7,-24, 6, 3, 4,-10,
+ 22,-14,-22, 6, 0, 5, 5, -1, -4, 3,-11, -4, -7, 31, 7,-14,
+ -5,-16, -1, 42, -4, -2, -9, -5, 5, -8, -6, -3, 42, -4,-21, -5,
+ -18, 12, 20,-12, 13,-13,-10, 7, -8, -9, -2,-18,-16, 6, 40, 8,
+ 10, -1, 0, 4, -3, 4, -1,-13, -2, 6, 1,-15, 5, 3, 1, 2,
+ -4, -2, 1, 3, 15, 0, -9, -4, -3, -4, -4, -4, -3, 5, 16, -3,
+ 2, 13, 3, 4, -3, -8,-10, 0, -6, -2, -4, -1, -2, -3, -6, 23,
+ 6, -6, 7, 1, 4,-18, 5, 1, -1, 1,-15, 14, -5, 6, -4, 4,
+ 2, 2, 2, 6,-24, 2, 7, 3,-26, 0, 3, 3, 5, 7, 1, 6,
+ 14, -2,-18, -3, 7, 5, -4, 2, -6, 3, 32, 1, -6, -6, -6,-12,
+ 5,-36, 7, 6, 9, -1, 11, 0, 4, 4, 5, 3, 4, 15, 3,-38,
+ 10, 23, -5,-42, 0, 4, 4, 4, 23, 17, -6,-13,-13,-37, 1, 29,
+ 5,-14, -1, 1, 5, 0, 3, 1, 0, 4, -5, 2, 8, 0, 0,-10,
+ 4, 7, -2, -3,-10, 3, 1, 1,-12, -1, 13, 3, 0, -1, 1, -3,
+ 0, -1, 3, 1, -6, -9, 3, 9, -6, 1, -4, -6, 8, -1, 0, 8,
+ -3, -3, 0, 18, -5, -1, -4, -1, -8, -2, 3, -4, 0, 17, -1, -5,
+ 5, -2, 9,-10, 1, -5, 6, -5, 4, 2, 2, 3, 10,-14, -8, 1,
+ -1, -2,-18, -1, -1, 20, 1, 2, -1, 1, -9, 1, -1, -9, 22, -4,
+ 6, -4, 8, -3, -1, 7,-19, 5, -7, 31, -4, -4, -6, 0, -5, -5,
+ -7, -8,-19, -4, 1, 1, 4, 32, 38, -1, -8, 4, -7, -8, -6,-12,
+ -1, 0, -7, 1, -1, 9, -1, 0, 9, -1, -1, 0, 2, -6, 1, -3,
+ -12, 0, 2, 1, 1, 1, 8, 0, 9, 1, 0, 2, -2, 1,-11, 0,
+ 0, 8, 2,-10, -1, 2, -1, 0, -2, -4, 0, -5, -2, -1, -1, 14,
+ -3, 7, -1, 5, 0,-10, 1, 1, -1, -5, 14, -1, -2, 1, -3, -2,
+ -6, 0, 0, 6, 2, 3, -9, 4, 4, -5, -1, -1, -7, 3, 8, -1,
+ 2, -4, -1,-11, 11, 2, 1, 0, -1, 2, 3, 9, 0, 2, 0,-15,
+ 3, 5,-20, 3, 3, -1, 3, 3, 1, -1, 16, 1, 2,-29, 9, 2,
+ -13, -6, -1, -3, 36, -1, -8, -3, 2, 5, 4, 2,-37, 9, 11, 3
};
-static const uint32 s_svq1IntraCodebook4x4[384] = {
- 0x0603fdf5, 0x0705fff6, 0x0706fff7, 0x0604fff7,
- 0xf2000705, 0xf1020906, 0xf1020906, 0xf2000604,
- 0xfafb0310, 0xf8f80110, 0xf7f7ff0e, 0xf8f8000c,
- 0x11100c08, 0x090602fe, 0x00fcf8f6, 0xf9f5f2f1,
- 0x10fef6f9, 0x12fdf5f9, 0x14fff5f9, 0x1301f8fa,
- 0xeff0f3f7, 0xf7f9fe02, 0xff04080b, 0x070b0f10,
- 0x0f0dfeea, 0x100efee8, 0x0f0dfce7, 0x0d0afae7,
- 0x10161a1a, 0x03090f11, 0xf2f5fafe, 0xe4e4e7ec,
- 0xebe7e5e5, 0xf9f5f1f0, 0x0d0c0803, 0x1e1f1c17,
- 0xdff91014, 0xddfa1316, 0xdefa1316, 0xe0fa1114,
- 0x2602ecec, 0x2802eaeb, 0x2802eaeb, 0x2603ecec,
- 0x1a18fcd1, 0x1b1afdce, 0x1b1afdce, 0x1a18fcd1,
- 0xe5e9062d, 0xe4e70530, 0xe4e60530, 0xe5e8062c,
- 0x4cf6dce2, 0x4ef5dbe1, 0x4ef5dbe1, 0x4df6dce1,
- 0x3423e0cb, 0x3424deca, 0x3424deca, 0x3322dfcb,
- 0x413edea3, 0x423edea3, 0x413edea3, 0x403cdea3,
- 0x020200f9, 0x0303fff8, 0x050400f8, 0x050501fa,
- 0x0b0b0703, 0x03030202, 0xf9fafe01, 0xf3f5fb01,
- 0xfdfcfe03, 0xfbfb0007, 0xf9fb040c, 0xf9fc060e,
- 0xfe030e12, 0xfd000406, 0x00fefbf8, 0x02fef5f0,
- 0x1207faf8, 0x0d02f8f9, 0x06fefafc, 0x01fdfc00,
- 0xeef3fd01, 0xf9fbff00, 0x070601ff, 0x110f04fe,
- 0xfef9f2f1, 0x00fffbfa, 0x01030606, 0x01060d0f,
- 0x0af5fe02, 0x0bf4ff02, 0x0bf4ff03, 0x0bf5fe02,
- 0xfbff0ef7, 0xfbfe0ff7, 0xfbfe10f8, 0xfcff0ff9,
- 0x08080602, 0x0c0903fe, 0x0a04fbf5, 0x00f8f0ed,
- 0xf1f9080e, 0xf2f9070c, 0xf7fc0508, 0xfcff0305,
- 0x02fef20c, 0x03fff10d, 0x03fff10e, 0x03fff20d,
- 0xf30a0600, 0xf10a0600, 0xef090700, 0xf0080601,
- 0xfe0ffbf8, 0xfe11faf8, 0xfd10faf8, 0xfe0ffbf8,
- 0xf6f5f5f7, 0x08090a09, 0x090a0a08, 0xf9f8f7f8,
- 0x07090a09, 0xf6f6f6f8, 0xf5f5f6f9, 0x080b0c0b,
- 0x00070a00, 0xfa000700, 0xfafb0200, 0xfffcfffe,
- 0xf7fa0005, 0x01020202, 0x070500fe, 0x0401fbfa,
- 0xff02f803, 0x0003f704, 0x0003f905, 0x0003fb07,
- 0x0902fdfb, 0x0801fdfa, 0x0701fdfa, 0x0400fefb,
- 0x0103080d, 0xfffcfbfd, 0x00fdf9f8, 0x020301ff,
- 0xf4fb0203, 0xf7fe0304, 0xfc010403, 0xff040503,
- 0x00fcf8f7, 0x00020608, 0x0003080a, 0xfffdfbfa,
- 0xfbf4f7fd, 0x00fbfd00, 0x04020302, 0x06070805,
- 0x0c05feff, 0x0905ffff, 0xfeff0102, 0xeff5ff02,
- 0xff0303f9, 0xff0403f7, 0xff0604f6, 0x000705f7,
- 0x0202f9ee, 0x030501f8, 0x00010403, 0xfdfe0509,
- 0x080600fe, 0xfdfbfbfc, 0xf8fafe01, 0xff03090a,
- 0x00fefe00, 0x00fbfc00, 0x08fcf8fe, 0x1806f9fb,
- 0x01f90109, 0x01f80109, 0x01f60008, 0xfff5ff08,
- 0x03060808, 0x02030405, 0x00fffdfe, 0xfcf8f3f6,
- 0xfd020400, 0xfb030600, 0xf4020a03, 0xeafc0a05,
- 0x03fffc00, 0x05fffc01, 0x0800fb01, 0x07fefaff,
- 0xfcfeffff, 0xfafcfeff, 0xfeffffff, 0x090a0501,
- 0xfe00030a, 0xfbfeff06, 0xfafeff03, 0xfb000002,
- 0x00000306, 0x01010306, 0x01fefe04, 0xfef7f700,
- 0x0201fdf5, 0x050402fa, 0x040302fd, 0x020101fe,
- 0xfefffcfa, 0xfeffff02, 0xfefe020a, 0xfffc020b,
- 0x02fe0006, 0x00000303, 0x000303fa, 0x0005ffef,
- 0x0b0a04ff, 0x0100fefd, 0xfdfbfcfd, 0xfffefeff,
- 0xf4f7fd02, 0x02030303, 0x04040202, 0xfeff0102,
- 0xf60509fe, 0xfb0505fd, 0x000201fe, 0x01fefeff,
- 0xfe07fdfe, 0xfd07fdff, 0xfc08feff, 0xfd07fefe,
- 0x0cfdf801, 0x04fefe02, 0xfb000301, 0xf90205ff,
- 0xfb0103ff, 0x0103fef9, 0x02fef9fe, 0xfffb0314,
- 0xfefd0005, 0x0600f9f9, 0x060700fa, 0xf9000602,
- 0x01f906fe, 0x03f807fe, 0x03f907fe, 0x02fa07ff,
- 0x0705fefb, 0xf8fc0104, 0xfbfe0306, 0x0703fbf9,
- 0x0506ffff, 0xfc01ff00, 0xf9000102, 0xfc000001,
- 0x010300f8, 0xffff01fe, 0x01fdff01, 0x0901fe01,
- 0xfcfd0205, 0xfdff00ff, 0x010301fd, 0x020400fc,
- 0x0cfefe02, 0x03fbfe00, 0x01fd00ff, 0x01fefffd,
- 0x00030501, 0x01fefcfa, 0x02fefe00, 0xfffc0106,
- 0xfffbfbfd, 0x04050503, 0xff010300, 0xfdfe01fe,
- 0xfdfbfc02, 0xfefdfe04, 0xffff0006, 0x00000107,
- 0x00fefefd, 0xfffbfdfe, 0xff0002fe, 0xff090bff,
- 0xf6ff0100, 0xfa0001ff, 0x04010001, 0x0dfffb02,
- 0x000504fe, 0x030601fb, 0x0203fefa, 0xfe00fefb,
- 0xfe0101ff, 0x0200feff, 0x07050505, 0xf9f8fc00,
- 0xfbff0200, 0xfd0202ff, 0xfb030500, 0xf4020803,
- 0xfe000408, 0xfffcff0a, 0x00fdfa03, 0x0000fbfc,
- 0x02fcf600, 0x0503faff, 0x0406fdff, 0x0204fe00,
- 0xff010800, 0xfd010b00, 0xfcfe06ff, 0xfcf9fefd,
- 0xffffff00, 0x05060504, 0xfbf8f7fb, 0x02030202,
- 0x01060200, 0x00030002, 0xfefffe01, 0xfafdff00,
- 0x00020000, 0x01020004, 0x0000fe05, 0x02fff7fe,
- 0xf6000100, 0x000801ff, 0x0004feff, 0xff02ff01,
- 0xff02fefd, 0xfd02fffd, 0x0001ff00, 0x03ff0108,
- 0x02010100, 0x00fefc00, 0xff01fbff, 0x020bfffe,
- 0xfefe0501, 0x00fc0200, 0x01fb01fe, 0x01000500,
- 0x0600fdfb, 0x000002fc, 0x000105fd, 0x000003fd,
- 0x01fdfe03, 0x0800fc01, 0x03fefdfe, 0xffff0201,
- 0x02000101, 0x06010002, 0x0102ff01, 0xed000300,
- 0x02fefd01, 0xf9fe0506, 0x010301fd, 0x0200ffff,
- 0xfcfffff8, 0x02ff0101, 0x03020304, 0x000301fb,
- 0x01ff0200, 0x050000fd, 0x0800fefb, 0x06fcfcfc,
- 0x02010201, 0x02fd0202, 0x00f70004, 0x01f50007,
- 0xfe000000, 0xfaff0303, 0xf6fd0304, 0x020602ff,
- 0x05fdfe07, 0xff0300fc, 0xf90102fc, 0x03ffff02,
- 0x02020203, 0xfbf9f9fb, 0x02040605, 0x0100fffe
+static const int8 s_svq1IntraCodebook4x4[1536] = {
+ -11, -3, 3, 6,-10, -1, 5, 7, -9, -1, 6, 7, -9, -1, 4, 6,
+ 5, 7, 0,-14, 6, 9, 2,-15, 6, 9, 2,-15, 4, 6, 0,-14,
+ 16, 3, -5, -6, 16, 1, -8, -8, 14, -1, -9, -9, 12, 0, -8, -8,
+ 8, 12, 16, 17, -2, 2, 6, 9,-10, -8, -4, 0,-15,-14,-11, -7,
+ -7,-10, -2, 16, -7,-11, -3, 18, -7,-11, -1, 20, -6, -8, 1, 19,
+ -9,-13,-16,-17, 2, -2, -7, -9, 11, 8, 4, -1, 16, 15, 11, 7,
+ -22, -2, 13, 15,-24, -2, 14, 16,-25, -4, 13, 15,-25, -6, 10, 13,
+ 26, 26, 22, 16, 17, 15, 9, 3, -2, -6,-11,-14,-20,-25,-28,-28,
+ -27,-27,-25,-21,-16,-15,-11, -7, 3, 8, 12, 13, 23, 28, 31, 30,
+ 20, 16, -7,-33, 22, 19, -6,-35, 22, 19, -6,-34, 20, 17, -6,-32,
+ -20,-20, 2, 38,-21,-22, 2, 40,-21,-22, 2, 40,-20,-20, 3, 38,
+ -47, -4, 24, 26,-50, -3, 26, 27,-50, -3, 26, 27,-47, -4, 24, 26,
+ 45, 6,-23,-27, 48, 5,-25,-28, 48, 5,-26,-28, 44, 6,-24,-27,
+ -30,-36,-10, 76,-31,-37,-11, 78,-31,-37,-11, 78,-31,-36,-10, 77,
+ -53,-32, 35, 52,-54,-34, 36, 52,-54,-34, 36, 52,-53,-33, 34, 51,
+ -93,-34, 62, 65,-93,-34, 62, 66,-93,-34, 62, 65,-93,-34, 60, 64,
+ -7, 0, 2, 2, -8, -1, 3, 3, -8, 0, 4, 5, -6, 1, 5, 5,
+ 3, 7, 11, 11, 2, 2, 3, 3, 1, -2, -6, -7, 1, -5,-11,-13,
+ 3, -2, -4, -3, 7, 0, -5, -5, 12, 4, -5, -7, 14, 6, -4, -7,
+ 18, 14, 3, -2, 6, 4, 0, -3, -8, -5, -2, 0,-16,-11, -2, 2,
+ -8, -6, 7, 18, -7, -8, 2, 13, -4, -6, -2, 6, 0, -4, -3, 1,
+ 1, -3,-13,-18, 0, -1, -5, -7, -1, 1, 6, 7, -2, 4, 15, 17,
+ -15,-14, -7, -2, -6, -5, -1, 0, 6, 6, 3, 1, 15, 13, 6, 1,
+ 2, -2,-11, 10, 2, -1,-12, 11, 3, -1,-12, 11, 2, -2,-11, 11,
+ -9, 14, -1, -5, -9, 15, -2, -5, -8, 16, -2, -5, -7, 15, -1, -4,
+ 2, 6, 8, 8, -2, 3, 9, 12,-11, -5, 4, 10,-19,-16, -8, 0,
+ 14, 8, -7,-15, 12, 7, -7,-14, 8, 5, -4, -9, 5, 3, -1, -4,
+ 12,-14, -2, 2, 13,-15, -1, 3, 14,-15, -1, 3, 13,-14, -1, 3,
+ 0, 6, 10,-13, 0, 6, 10,-15, 0, 7, 9,-17, 1, 6, 8,-16,
+ -8, -5, 15, -2, -8, -6, 17, -2, -8, -6, 16, -3, -8, -5, 15, -2,
+ -9,-11,-11,-10, 9, 10, 9, 8, 8, 10, 10, 9, -8, -9, -8, -7,
+ 9, 10, 9, 7, -8,-10,-10,-10, -7,-10,-11,-11, 11, 12, 11, 8,
+ 0, 10, 7, 0, 0, 7, 0, -6, 0, 2, -5, -6, -2, -1, -4, -1,
+ 5, 0, -6, -9, 2, 2, 2, 1, -2, 0, 5, 7, -6, -5, 1, 4,
+ 3, -8, 2, -1, 4, -9, 3, 0, 5, -7, 3, 0, 7, -5, 3, 0,
+ -5, -3, 2, 9, -6, -3, 1, 8, -6, -3, 1, 7, -5, -2, 0, 4,
+ 13, 8, 3, 1, -3, -5, -4, -1, -8, -7, -3, 0, -1, 1, 3, 2,
+ 3, 2, -5,-12, 4, 3, -2, -9, 3, 4, 1, -4, 3, 5, 4, -1,
+ -9, -8, -4, 0, 8, 6, 2, 0, 10, 8, 3, 0, -6, -5, -3, -1,
+ -3, -9,-12, -5, 0, -3, -5, 0, 2, 3, 2, 4, 5, 8, 7, 6,
+ -1, -2, 5, 12, -1, -1, 5, 9, 2, 1, -1, -2, 2, -1,-11,-17,
+ -7, 3, 3, -1, -9, 3, 4, -1,-10, 4, 6, -1, -9, 5, 7, 0,
+ -18, -7, 2, 2, -8, 1, 5, 3, 3, 4, 1, 0, 9, 5, -2, -3,
+ -2, 0, 6, 8, -4, -5, -5, -3, 1, -2, -6, -8, 10, 9, 3, -1,
+ 0, -2, -2, 0, 0, -4, -5, 0, -2, -8, -4, 8, -5, -7, 6, 24,
+ 9, 1, -7, 1, 9, 1, -8, 1, 8, 0,-10, 1, 8, -1,-11, -1,
+ 8, 8, 6, 3, 5, 4, 3, 2, -2, -3, -1, 0,-10,-13, -8, -4,
+ 0, 4, 2, -3, 0, 6, 3, -5, 3, 10, 2,-12, 5, 10, -4,-22,
+ 0, -4, -1, 3, 1, -4, -1, 5, 1, -5, 0, 8, -1, -6, -2, 7,
+ -1, -1, -2, -4, -1, -2, -4, -6, -1, -1, -1, -2, 1, 5, 10, 9,
+ 10, 3, 0, -2, 6, -1, -2, -5, 3, -1, -2, -6, 2, 0, 0, -5,
+ 6, 3, 0, 0, 6, 3, 1, 1, 4, -2, -2, 1, 0, -9, -9, -2,
+ -11, -3, 1, 2, -6, 2, 4, 5, -3, 2, 3, 4, -2, 1, 1, 2,
+ -6, -4, -1, -2, 2, -1, -1, -2, 10, 2, -2, -2, 11, 2, -4, -1,
+ 6, 0, -2, 2, 3, 3, 0, 0, -6, 3, 3, 0,-17, -1, 5, 0,
+ -1, 4, 10, 11, -3, -2, 0, 1, -3, -4, -5, -3, -1, -2, -2, -1,
+ 2, -3, -9,-12, 3, 3, 3, 2, 2, 2, 4, 4, 2, 1, -1, -2,
+ -2, 9, 5,-10, -3, 5, 5, -5, -2, 1, 2, 0, -1, -2, -2, 1,
+ -2, -3, 7, -2, -1, -3, 7, -3, -1, -2, 8, -4, -2, -2, 7, -3,
+ 1, -8, -3, 12, 2, -2, -2, 4, 1, 3, 0, -5, -1, 5, 2, -7,
+ -1, 3, 1, -5, -7, -2, 3, 1, -2, -7, -2, 2, 20, 3, -5, -1,
+ 5, 0, -3, -2, -7, -7, 0, 6, -6, 0, 7, 6, 2, 6, 0, -7,
+ -2, 6, -7, 1, -2, 7, -8, 3, -2, 7, -7, 3, -1, 7, -6, 2,
+ -5, -2, 5, 7, 4, 1, -4, -8, 6, 3, -2, -5, -7, -5, 3, 7,
+ -1, -1, 6, 5, 0, -1, 1, -4, 2, 1, 0, -7, 1, 0, 0, -4,
+ -8, 0, 3, 1, -2, 1, -1, -1, 1, -1, -3, 1, 1, -2, 1, 9,
+ 5, 2, -3, -4, -1, 0, -1, -3, -3, 1, 3, 1, -4, 0, 4, 2,
+ 2, -2, -2, 12, 0, -2, -5, 3, -1, 0, -3, 1, -3, -1, -2, 1,
+ 1, 5, 3, 0, -6, -4, -2, 1, 0, -2, -2, 2, 6, 1, -4, -1,
+ -3, -5, -5, -1, 3, 5, 5, 4, 0, 3, 1, -1, -2, 1, -2, -3,
+ 2, -4, -5, -3, 4, -2, -3, -2, 6, 0, -1, -1, 7, 1, 0, 0,
+ -3, -2, -2, 0, -2, -3, -5, -1, -2, 2, 0, -1, -1, 11, 9, -1,
+ 0, 1, -1,-10, -1, 1, 0, -6, 1, 0, 1, 4, 2, -5, -1, 13,
+ -2, 4, 5, 0, -5, 1, 6, 3, -6, -2, 3, 2, -5, -2, 0, -2,
+ -1, 1, 1, -2, -1, -2, 0, 2, 5, 5, 5, 7, 0, -4, -8, -7,
+ 0, 2, -1, -5, -1, 2, 2, -3, 0, 5, 3, -5, 3, 8, 2,-12,
+ 8, 4, 0, -2, 10, -1, -4, -1, 3, -6, -3, 0, -4, -5, 0, 0,
+ 0,-10, -4, 2, -1, -6, 3, 5, -1, -3, 6, 4, 0, -2, 4, 2,
+ 0, 8, 1, -1, 0, 11, 1, -3, -1, 6, -2, -4, -3, -2, -7, -4,
+ 0, -1, -1, -1, 4, 5, 6, 5, -5, -9, -8, -5, 2, 2, 3, 2,
+ 0, 2, 6, 1, 2, 0, 3, 0, 1, -2, -1, -2, 0, -1, -3, -6,
+ 0, 0, 2, 0, 4, 0, 2, 1, 5, -2, 0, 0, -2, -9, -1, 2,
+ 0, 1, 0,-10, -1, 1, 8, 0, -1, -2, 4, 0, 1, -1, 2, -1,
+ -3, -2, 2, -1, -3, -1, 2, -3, 0, -1, 1, 0, 8, 1, -1, 3,
+ 0, 1, 1, 2, 0, -4, -2, 0, -1, -5, 1, -1, -2, -1, 11, 2,
+ 1, 5, -2, -2, 0, 2, -4, 0, -2, 1, -5, 1, 0, 5, 0, 1,
+ -5, -3, 0, 6, -4, 2, 0, 0, -3, 5, 1, 0, -3, 3, 0, 0,
+ 3, -2, -3, 1, 1, -4, 0, 8, -2, -3, -2, 3, 1, 2, -1, -1,
+ 1, 1, 0, 2, 2, 0, 1, 6, 1, -1, 2, 1, 0, 3, 0,-19,
+ 1, -3, -2, 2, 6, 5, -2, -7, -3, 1, 3, 1, -1, -1, 0, 2,
+ -8, -1, -1, -4, 1, 1, -1, 2, 4, 3, 2, 3, -5, 1, 3, 0,
+ 0, 2, -1, 1, -3, 0, 0, 5, -5, -2, 0, 8, -4, -4, -4, 6,
+ 1, 2, 1, 2, 2, 2, -3, 2, 4, 0, -9, 0, 7, 0,-11, 1,
+ 0, 0, 0, -2, 3, 3, -1, -6, 4, 3, -3,-10, -1, 2, 6, 2,
+ 7, -2, -3, 5, -4, 0, 3, -1, -4, 2, 1, -7, 2, -1, -1, 3,
+ 3, 2, 2, 2, -5, -7, -7, -5, 5, 6, 4, 2, -2, -1, 0, 1
};
-static const uint32 s_svq1IntraCodebook8x4[768] = {
- 0x06060605, 0x08080707, 0x00000000, 0x03020100,
- 0xfbfcfcfd, 0xfefdfcfb, 0xfbfcfcfc, 0xfdfdfcfc,
- 0x02020201, 0x03030302, 0x04030302, 0x05050504,
- 0x010100ff, 0x04040302, 0xf7f7f6f7, 0xfbfaf9f8,
- 0xfafbfcfc, 0xf9f9f9fa, 0xfefeff00, 0xfcfcfdfd,
- 0x03030404, 0x00010102, 0x06070707, 0x04040506,
- 0x06050402, 0xfafd0104, 0x05050403, 0xf8fb0004,
- 0x04040302, 0xf6f9fe02, 0x01020202, 0xf4f7fc00,
- 0x01fdf9f7, 0x03030404, 0x03fef9f6, 0x03030505,
- 0x03fefaf7, 0x03040506, 0x03fffaf8, 0x02030404,
- 0xfbfbfbfb, 0x070401fd, 0xfcfbfbfb, 0x080601fe,
- 0xfdfcfbfc, 0x0a0803ff, 0xfefdfcfd, 0x0b090501,
- 0xfefefefe, 0xfefefefe, 0xfbfbfbfc, 0xfcfbfbfb,
- 0xfcfcfcfd, 0xfdfcfcfc, 0x0b0a0a09, 0x0a0a0b0b,
- 0xfe010407, 0xf6f7fafc, 0x00030709, 0xf7f8fcfe,
- 0x0204080b, 0xf8fafd00, 0x0305090b, 0xf9fbfe01,
- 0xf4f3f3f3, 0xf8f8f6f5, 0x03020100, 0x03040404,
- 0x06050403, 0x04050606, 0x04040403, 0x02030303,
- 0x0a0b0a0a, 0x07080909, 0x06060606, 0x02030405,
- 0xff000000, 0xfcfcfdfe, 0xf4f5f6f6, 0xf2f2f2f3,
- 0x10111010, 0x0b0c0d0f, 0xfcfdfeff, 0xfdfcfcfc,
- 0xfafafbfc, 0xfafafafa, 0xfafafafb, 0xfbfbfafa,
- 0xf4f3f3f3, 0xfaf8f6f5, 0xfaf9f8f7, 0x0100fefc,
- 0x0301fffe, 0x09080705, 0x0b090705, 0x0f0f0e0d,
- 0x070b0e10, 0xf7f9fd02, 0x03080c0e, 0xf5f7faff,
- 0x0004090b, 0xf3f5f8fc, 0xfd010508, 0xf2f4f6fa,
- 0xfdf7f1ee, 0x0b090601, 0xfff9f3ef, 0x0c0b0703,
- 0x01fbf5f1, 0x0d0c0905, 0x02fdf7f3, 0x0d0b0905,
- 0x0f131516, 0xf7fc030a, 0x090f1214, 0xeff4fb02,
- 0x01080d10, 0xe8ecf2f9, 0xf8ff060a, 0xe5e7ebf1,
- 0xf2ece9e7, 0x0e0901f9, 0xf7f0ebe9, 0x15100900,
- 0xfff6f0ec, 0x19161008, 0x06fdf5f1, 0x1b19140e,
- 0x0100fefc, 0x02020202, 0x0200fefb, 0x03030303,
- 0x01fffcfa, 0x03030302, 0x00fefbf9, 0x02020101,
- 0x01010102, 0xfdfe0001, 0x01020303, 0xfcfdff00,
- 0x01020304, 0xfafcfe00, 0x01030405, 0xfafbfdff,
- 0x04060605, 0xfdfe0002, 0x04040403, 0xff000103,
- 0xfffffefe, 0xfefeffff, 0xfefdfcfb, 0xfdfdfefe,
- 0xffffffff, 0xffffffff, 0xfcfcfcfd, 0xfdfdfdfd,
- 0xffffffff, 0xfeffffff, 0x06060605, 0x03040506,
- 0x04040404, 0x07060504, 0xffffff00, 0x020100ff,
- 0xfdfdfdfe, 0x00fffefd, 0xfcfcfdfd, 0xfffefdfc,
- 0xfcfcfe00, 0x030200fe, 0xfdfdfe00, 0x050402ff,
- 0xfdfcfeff, 0x06050300, 0xfdfcfdfe, 0x050402ff,
- 0xfd000409, 0x0100fffd, 0xfcff0408, 0x0201fffd,
- 0xfbfd0206, 0x0100fefc, 0xfcfd0105, 0x0100fefc,
- 0xff010305, 0xf6f6f8fc, 0x01020303, 0xfcfdfe00,
- 0x02010101, 0x00010203, 0x020100ff, 0x02030403,
- 0x02020100, 0xfdfdff01, 0x01010100, 0xfdfcfeff,
- 0xfdfdfdfd, 0x02fffdfd, 0x00fdfcfc, 0x0e0c0703,
- 0xfafafbfb, 0xfbfafafa, 0x01020202, 0x00000000,
- 0x02030404, 0x00000001, 0x04050606, 0x01010202,
- 0xfdfaf9f9, 0x08070400, 0xfdfdfeff, 0x0201fffe,
- 0xff010303, 0xfffefefe, 0x02040606, 0xfefefe00,
- 0x02fefbfa, 0x0c0b0905, 0x00fefcfc, 0x06050402,
- 0xfefefefd, 0x0100fffe, 0xfdfefefe, 0xfefdfdfd,
- 0x0301fdf9, 0xfbfd0003, 0x0503fefa, 0xfbfd0104,
- 0x0604fffb, 0xfcfd0205, 0x070500fc, 0xfdff0306,
- 0x00000000, 0x00000000, 0xfdfdfefe, 0xfffefdfd,
- 0x09080706, 0x06070809, 0xfbfbfcfc, 0xfcfbfafa,
- 0xfcfaf8f7, 0x06060300, 0x03fffcfb, 0x03050605,
- 0x06060301, 0xfbfe0104, 0x01050706, 0xf5f6f9fd,
- 0x0105090a, 0xfcfafafd, 0xfbff0305, 0x02fefbfa,
- 0xfafafcfe, 0x0a0601fc, 0xfcf9f9fa, 0x0c0b0701,
- 0x02030506, 0x00000000, 0xfeff0102, 0xfffffefd,
- 0xfcfeff00, 0x01fffefc, 0xfeff0000, 0x030200ff,
- 0xfefeff00, 0xfffffefe, 0x01020405, 0x00000000,
- 0x01030506, 0x00000000, 0xfcfe0002, 0xfefefdfc,
- 0x0200fcf9, 0x01020202, 0x0000fdf9, 0x00000000,
- 0x0101fffc, 0x01000000, 0x020201ff, 0x03030202,
- 0x020200fe, 0x01010101, 0x020201ff, 0xff000001,
- 0x02040200, 0xfdfeff00, 0x01030201, 0xfafafcfe,
- 0x04020201, 0x01040605, 0xffffff00, 0xfcfe0000,
- 0xfeff0000, 0xfafcfefe, 0x00000102, 0xfdff0101,
- 0x01010101, 0x03030201, 0x00010000, 0x04040201,
- 0xffffffff, 0x03020100, 0xfbfbfcfc, 0x00fffdfb,
- 0xfcfbfbfa, 0xfffffefd, 0x010000ff, 0x03030201,
- 0x01010100, 0x04030202, 0xffff0000, 0x03020100,
- 0x01010100, 0xffff0000, 0x02030301, 0xfefeff01,
- 0x020200fe, 0x01010202, 0xfefcf8f7, 0x03030301,
- 0xfeffffff, 0xfcfdfdfd, 0xff000000, 0xfdfdfefe,
- 0x00020202, 0xffffffff, 0x03040505, 0x02020202,
- 0xfcff0306, 0x0101fffd, 0xfcfdff02, 0x000202ff,
- 0x01fefeff, 0xfd010404, 0x0401fffe, 0xf8fd0306,
- 0x01020303, 0xfefefeff, 0xfffefcfc, 0x04040301,
- 0xfcfbfbfc, 0x020200fe, 0x01040707, 0xfefdfeff,
- 0x000301ff, 0x0600fafc, 0x010401fe, 0x07fffafc,
- 0x020401fd, 0x06fffafd, 0x020300fe, 0x04fffbfe,
- 0x01feff01, 0xf9ff0404, 0xfffcff01, 0xfa000605,
- 0xfdfc0003, 0xfc020603, 0xfcfb0003, 0xfd010401,
- 0x03030202, 0x02020303, 0xf9fafbfc, 0xfaf9f9f9,
- 0x03030201, 0x02020303, 0x01010000, 0x01020201,
- 0x03fdfd03, 0x02fefe04, 0x04fcfc03, 0x02fcfc04,
- 0x04fcfc04, 0x03fdfc04, 0x03fcfd03, 0x03fdfd03,
- 0xfefefefe, 0xfffffefe, 0x08080706, 0x05060708,
- 0xf9f9fafb, 0xfbfaf9f8, 0x02020101, 0x01010202,
- 0x00000000, 0x0000ff00, 0x000000ff, 0x0000ff00,
- 0xfefefdfe, 0xfdfdfdfe, 0x06050302, 0x00010204,
- 0x00020608, 0x00000000, 0x00000104, 0xffffff00,
- 0x0000ff01, 0xfdfeff00, 0x00fffefe, 0xfbfcfe00,
- 0xfeff0103, 0xfbfbfcfd, 0x00000102, 0x00000101,
- 0x00ffff00, 0x02020202, 0x01fffeff, 0x02020202,
- 0xfffeff00, 0x00ffffff, 0xfffefeff, 0x010000ff,
- 0x02010102, 0x00010102, 0x01030506, 0xfcfcfe00,
- 0x00fffefd, 0xff000101, 0x04030100, 0x01030505,
- 0x00ffffff, 0xfeff0001, 0xfffefefe, 0xfdfeff00,
- 0xfefeff00, 0x0200ffff, 0xfffeff01, 0x0200ffff,
- 0xfefe0001, 0x0501fefe, 0xfefeff01, 0x0a0500fe,
- 0x00000000, 0xffffff00, 0x00ffffff, 0x02010000,
- 0x03020201, 0x05060404, 0xfefdfdfd, 0xfdfdfdfe,
- 0xfefeff01, 0x07050300, 0xfdfe0002, 0x030200fe,
- 0xfdfe0103, 0xfffffefd, 0xff000103, 0xffffffff,
- 0x04050301, 0xfcfdff02, 0x0201fefd, 0xfeff0001,
- 0x0200fdfb, 0x00000102, 0x0201fffd, 0x00000102,
- 0xffffff00, 0x04030201, 0xfdfcfcfd, 0x010000ff,
- 0xfffefdfe, 0x01010101, 0x0300fefe, 0x02030404,
- 0xfefdfcfc, 0x030201ff, 0x01010100, 0xfdfdfeff,
- 0x04050403, 0xfdfdff02, 0x0200fefe, 0x00010202,
- 0x070500fc, 0xfcfcff04, 0x030402ff, 0xfefdfd00,
- 0xff000102, 0x0100fefe, 0xfeff0000, 0x0201fffe,
- 0xfffefdfc, 0x02020100, 0x0005090a, 0xfefdfcfd,
- 0xfefeff01, 0x000000ff, 0x01fffefe, 0xff000101,
- 0x0300fdfb, 0xfe000204, 0x0100fffe, 0xffff0001,
- 0xfeff0203, 0x0101fffe, 0xfbff0507, 0x0402fefa,
- 0xfd0303fe, 0xfe0201fc, 0xfd0403fd, 0xfe0302fc,
- 0xfd0403fd, 0xfe0302fc, 0xfe0402fc, 0xff0201fd,
- 0xfdff0304, 0x0201fffd, 0x00fcfafc, 0x01040504,
- 0x06050200, 0xfcfbfd02, 0xfdff0101, 0x0402fefb,
- 0x020100ff, 0x04030302, 0x010100ff, 0xffffff00,
- 0x020100ff, 0xfeff0102, 0x00fffefd, 0xfdfeff00,
- 0x01010101, 0x02010000, 0x00ff0001, 0x00010100,
- 0xfffcfe01, 0x00010201, 0xfdf9fc01, 0x01020301,
- 0x01010101, 0xff000101, 0x00010101, 0x00020201,
- 0x00000101, 0xfd000200, 0xff000203, 0xf7fafeff,
- 0x01000000, 0x02010000, 0x00000001, 0x0200ffff,
- 0x01010100, 0x00fefdff, 0x0601fbf9, 0xffff0206,
- 0xfdff0103, 0x0401fefc, 0xfdfe0002, 0x02fffdfc,
- 0x01010202, 0x01000001, 0x00000101, 0x01000000,
- 0xfe0101ff, 0xfffcfafb, 0x030401ff, 0x02010002,
- 0x030200ff, 0x01000001, 0x000100ff, 0x00ffff00,
- 0x02020100, 0x01fffe00, 0xfefffffe, 0x080602ff,
- 0xfdfeffff, 0x020100fe, 0xff0000ff, 0xffff00ff,
- 0x01010102, 0x00000001, 0x01010000, 0x01ffff01,
- 0x020200ff, 0x03fefdff, 0x00030200, 0x04fef9fb,
- 0x000000ff, 0xfdfdfeff, 0xfeff00ff, 0xfefefefe,
- 0x00000101, 0xff000201, 0x02010201, 0x00020605,
- 0x00fdfcfe, 0xfd000202, 0x01000103, 0xfdfe0102,
- 0x00000103, 0xff000000, 0xfefeff01, 0x030301ff,
- 0x02010203, 0xfe010304, 0xfdfcfcfe, 0xfdfe00ff,
- 0xffff0001, 0xff000100, 0x00000203, 0x00010100,
- 0x00000101, 0x00000000, 0x02030302, 0x01010202,
- 0xfdfeff00, 0xfcfbfbfb, 0xff000101, 0x03030100,
- 0x00fefaf7, 0x02020101, 0x0201fefa, 0x01000101,
- 0x020201fe, 0x01010101, 0x01020200, 0x01010100,
- 0x00000001, 0x00ff0000, 0x00000000, 0x00fefdff,
- 0xfefdfdfd, 0x090703ff, 0x02020201, 0xfdfcfe00,
- 0xfffe0002, 0xfaff0403, 0xfdfe0001, 0x000303ff,
- 0x00030300, 0x0101fffe, 0x0203fffa, 0x0100feff,
- 0xfe000305, 0x010200fd, 0x02020101, 0xf9fcfe00,
- 0x0201fefd, 0xfcff0102, 0xfe000202, 0x020200fe,
- 0xfdfe0000, 0x0000fffe, 0x00000000, 0x02020000,
- 0x0100fffe, 0x03020100, 0x0000fefc, 0x030200ff,
- 0xfffefefe, 0x040200ff, 0x00000000, 0x0100ffff,
- 0xffffff00, 0x0000ffff, 0x00020406, 0xfffffeff,
- 0x01010100, 0xf6fbff01, 0x01010101, 0xfc000101,
- 0x01010001, 0xff010101, 0x01010102, 0x00000000,
- 0x030401fd, 0x00ff0103, 0x000100fc, 0x000000ff,
- 0x010200fb, 0xff000101, 0xfe0102ff, 0xff00fffe,
- 0x03050402, 0x0201ff00, 0x00010000, 0xfffffefe,
- 0xfefefefe, 0x00fffefd, 0x00010000, 0x02010000,
- 0xfdfefe00, 0xff0202ff, 0x00000001, 0xfe030501,
- 0xff00ffff, 0xfb000200, 0x000100ff, 0xfe020200,
- 0xffff0103, 0x02010100, 0x01000001, 0x01010101,
- 0x01fef8f6, 0x01010102, 0x010201ff, 0x00000000,
- 0x0100ffff, 0x01020202, 0x00ffffff, 0xfcfbfdff,
- 0x01020101, 0x02000001, 0xfffffeff, 0x040200ff,
- 0x00fbf9fd, 0x00000002, 0x01feff03, 0x02010102,
- 0x01fffe01, 0x01000102, 0x0300ff00, 0xffffff02,
- 0x00010102, 0x00000000, 0x03fef9f7, 0x01010203,
- 0xfe000203, 0x0101fffe, 0x0000ff00, 0x00000101,
- 0x0101fffe, 0x00000001, 0xfe010201, 0x0201fdfc,
- 0xfe010201, 0x010300fd, 0x0000ffff, 0xfc000301,
- 0x01ff0002, 0x03fefe02, 0x02ff0002, 0x01fcfe03,
- 0x01010100, 0xfefafe02, 0x000000ff, 0xfffe0002,
- 0x0201ffff, 0xfefdfe01, 0xfffeff03, 0x020100ff,
- 0x0000040a, 0xfffefeff, 0xfffeff03, 0x00ffff00,
- 0x010702fb, 0x0001fefc, 0xff0302fe, 0x000200fd,
- 0x00000102, 0xfeff0101, 0xfffefe01, 0x0000feff,
- 0xf9fe0300, 0x000003ff, 0xfbfd0301, 0x00ff0302,
- 0xfefe0200, 0x00fe0204, 0x00ff01ff, 0x01feff02,
- 0xfcfd0004, 0x010201fe, 0x05030000, 0xfeff0103,
- 0xff010101, 0x0101fffd, 0xfefeff01, 0xfeff0000
+static const int8 s_svq1IntraCodebook8x4[3072] = {
+ 5, 6, 6, 6, 7, 7, 8, 8, 0, 0, 0, 0, 0, 1, 2, 3,
+ -3, -4, -4, -5, -5, -4, -3, -2, -4, -4, -4, -5, -4, -4, -3, -3,
+ 1, 2, 2, 2, 2, 3, 3, 3, 2, 3, 3, 4, 4, 5, 5, 5,
+ -1, 0, 1, 1, 2, 3, 4, 4, -9,-10, -9, -9, -8, -7, -6, -5,
+ -4, -4, -5, -6, -6, -7, -7, -7, 0, -1, -2, -2, -3, -3, -4, -4,
+ 4, 4, 3, 3, 2, 1, 1, 0, 7, 7, 7, 6, 6, 5, 4, 4,
+ 2, 4, 5, 6, 4, 1, -3, -6, 3, 4, 5, 5, 4, 0, -5, -8,
+ 2, 3, 4, 4, 2, -2, -7,-10, 2, 2, 2, 1, 0, -4, -9,-12,
+ -9, -7, -3, 1, 4, 4, 3, 3,-10, -7, -2, 3, 5, 5, 3, 3,
+ -9, -6, -2, 3, 6, 5, 4, 3, -8, -6, -1, 3, 4, 4, 3, 2,
+ -5, -5, -5, -5, -3, 1, 4, 7, -5, -5, -5, -4, -2, 1, 6, 8,
+ -4, -5, -4, -3, -1, 3, 8, 10, -3, -4, -3, -2, 1, 5, 9, 11,
+ -2, -2, -2, -2, -2, -2, -2, -2, -4, -5, -5, -5, -5, -5, -5, -4,
+ -3, -4, -4, -4, -4, -4, -4, -3, 9, 10, 10, 11, 11, 11, 10, 10,
+ 7, 4, 1, -2, -4, -6, -9,-10, 9, 7, 3, 0, -2, -4, -8, -9,
+ 11, 8, 4, 2, 0, -3, -6, -8, 11, 9, 5, 3, 1, -2, -5, -7,
+ -13,-13,-13,-12,-11,-10, -8, -8, 0, 1, 2, 3, 4, 4, 4, 3,
+ 3, 4, 5, 6, 6, 6, 5, 4, 3, 4, 4, 4, 3, 3, 3, 2,
+ 10, 10, 11, 10, 9, 9, 8, 7, 6, 6, 6, 6, 5, 4, 3, 2,
+ 0, 0, 0, -1, -2, -3, -4, -4,-10,-10,-11,-12,-13,-14,-14,-14,
+ 16, 16, 17, 16, 15, 13, 12, 11, -1, -2, -3, -4, -4, -4, -4, -3,
+ -4, -5, -6, -6, -6, -6, -6, -6, -5, -6, -6, -6, -6, -6, -5, -5,
+ -13,-13,-13,-12,-11,-10, -8, -6, -9, -8, -7, -6, -4, -2, 0, 1,
+ -2, -1, 1, 3, 5, 7, 8, 9, 5, 7, 9, 11, 13, 14, 15, 15,
+ 16, 14, 11, 7, 2, -3, -7, -9, 14, 12, 8, 3, -1, -6, -9,-11,
+ 11, 9, 4, 0, -4, -8,-11,-13, 8, 5, 1, -3, -6,-10,-12,-14,
+ -18,-15, -9, -3, 1, 6, 9, 11,-17,-13, -7, -1, 3, 7, 11, 12,
+ -15,-11, -5, 1, 5, 9, 12, 13,-13, -9, -3, 2, 5, 9, 11, 13,
+ 22, 21, 19, 15, 10, 3, -4, -9, 20, 18, 15, 9, 2, -5,-12,-17,
+ 16, 13, 8, 1, -7,-14,-20,-24, 10, 6, -1, -8,-15,-21,-25,-27,
+ -25,-23,-20,-14, -7, 1, 9, 14,-23,-21,-16, -9, 0, 9, 16, 21,
+ -20,-16,-10, -1, 8, 16, 22, 25,-15,-11, -3, 6, 14, 20, 25, 27,
+ -4, -2, 0, 1, 2, 2, 2, 2, -5, -2, 0, 2, 3, 3, 3, 3,
+ -6, -4, -1, 1, 2, 3, 3, 3, -7, -5, -2, 0, 1, 1, 2, 2,
+ 2, 1, 1, 1, 1, 0, -2, -3, 3, 3, 2, 1, 0, -1, -3, -4,
+ 4, 3, 2, 1, 0, -2, -4, -6, 5, 4, 3, 1, -1, -3, -5, -6,
+ 5, 6, 6, 4, 2, 0, -2, -3, 3, 4, 4, 4, 3, 1, 0, -1,
+ -2, -2, -1, -1, -1, -1, -2, -2, -5, -4, -3, -2, -2, -2, -3, -3,
+ -1, -1, -1, -1, -1, -1, -1, -1, -3, -4, -4, -4, -3, -3, -3, -3,
+ -1, -1, -1, -1, -1, -1, -1, -2, 5, 6, 6, 6, 6, 5, 4, 3,
+ 4, 4, 4, 4, 4, 5, 6, 7, 0, -1, -1, -1, -1, 0, 1, 2,
+ -2, -3, -3, -3, -3, -2, -1, 0, -3, -3, -4, -4, -4, -3, -2, -1,
+ 0, -2, -4, -4, -2, 0, 2, 3, 0, -2, -3, -3, -1, 2, 4, 5,
+ -1, -2, -4, -3, 0, 3, 5, 6, -2, -3, -4, -3, -1, 2, 4, 5,
+ 9, 4, 0, -3, -3, -1, 0, 1, 8, 4, -1, -4, -3, -1, 1, 2,
+ 6, 2, -3, -5, -4, -2, 0, 1, 5, 1, -3, -4, -4, -2, 0, 1,
+ 5, 3, 1, -1, -4, -8,-10,-10, 3, 3, 2, 1, 0, -2, -3, -4,
+ 1, 1, 1, 2, 3, 2, 1, 0, -1, 0, 1, 2, 3, 4, 3, 2,
+ 0, 1, 2, 2, 1, -1, -3, -3, 0, 1, 1, 1, -1, -2, -4, -3,
+ -3, -3, -3, -3, -3, -3, -1, 2, -4, -4, -3, 0, 3, 7, 12, 14,
+ -5, -5, -6, -6, -6, -6, -6, -5, 2, 2, 2, 1, 0, 0, 0, 0,
+ 4, 4, 3, 2, 1, 0, 0, 0, 6, 6, 5, 4, 2, 2, 1, 1,
+ -7, -7, -6, -3, 0, 4, 7, 8, -1, -2, -3, -3, -2, -1, 1, 2,
+ 3, 3, 1, -1, -2, -2, -2, -1, 6, 6, 4, 2, 0, -2, -2, -2,
+ -6, -5, -2, 2, 5, 9, 11, 12, -4, -4, -2, 0, 2, 4, 5, 6,
+ -3, -2, -2, -2, -2, -1, 0, 1, -2, -2, -2, -3, -3, -3, -3, -2,
+ -7, -3, 1, 3, 3, 0, -3, -5, -6, -2, 3, 5, 4, 1, -3, -5,
+ -5, -1, 4, 6, 5, 2, -3, -4, -4, 0, 5, 7, 6, 3, -1, -3,
+ 0, 0, 0, 0, 0, 0, 0, 0, -2, -2, -3, -3, -3, -3, -2, -1,
+ 6, 7, 8, 9, 9, 8, 7, 6, -4, -4, -5, -5, -6, -6, -5, -4,
+ -9, -8, -6, -4, 0, 3, 6, 6, -5, -4, -1, 3, 5, 6, 5, 3,
+ 1, 3, 6, 6, 4, 1, -2, -5, 6, 7, 5, 1, -3, -7,-10,-11,
+ 10, 9, 5, 1, -3, -6, -6, -4, 5, 3, -1, -5, -6, -5, -2, 2,
+ -2, -4, -6, -6, -4, 1, 6, 10, -6, -7, -7, -4, 1, 7, 11, 12,
+ 6, 5, 3, 2, 0, 0, 0, 0, 2, 1, -1, -2, -3, -2, -1, -1,
+ 0, -1, -2, -4, -4, -2, -1, 1, 0, 0, -1, -2, -1, 0, 2, 3,
+ 0, -1, -2, -2, -2, -2, -1, -1, 5, 4, 2, 1, 0, 0, 0, 0,
+ 6, 5, 3, 1, 0, 0, 0, 0, 2, 0, -2, -4, -4, -3, -2, -2,
+ -7, -4, 0, 2, 2, 2, 2, 1, -7, -3, 0, 0, 0, 0, 0, 0,
+ -4, -1, 1, 1, 0, 0, 0, 1, -1, 1, 2, 2, 2, 2, 3, 3,
+ -2, 0, 2, 2, 1, 1, 1, 1, -1, 1, 2, 2, 1, 0, 0, -1,
+ 0, 2, 4, 2, 0, -1, -2, -3, 1, 2, 3, 1, -2, -4, -6, -6,
+ 1, 2, 2, 4, 5, 6, 4, 1, 0, -1, -1, -1, 0, 0, -2, -4,
+ 0, 0, -1, -2, -2, -2, -4, -6, 2, 1, 0, 0, 1, 1, -1, -3,
+ 1, 1, 1, 1, 1, 2, 3, 3, 0, 0, 1, 0, 1, 2, 4, 4,
+ -1, -1, -1, -1, 0, 1, 2, 3, -4, -4, -5, -5, -5, -3, -1, 0,
+ -6, -5, -5, -4, -3, -2, -1, -1, -1, 0, 0, 1, 1, 2, 3, 3,
+ 0, 1, 1, 1, 2, 2, 3, 4, 0, 0, -1, -1, 0, 1, 2, 3,
+ 0, 1, 1, 1, 0, 0, -1, -1, 1, 3, 3, 2, 1, -1, -2, -2,
+ -2, 0, 2, 2, 2, 2, 1, 1, -9, -8, -4, -2, 1, 3, 3, 3,
+ -1, -1, -1, -2, -3, -3, -3, -4, 0, 0, 0, -1, -2, -2, -3, -3,
+ 2, 2, 2, 0, -1, -1, -1, -1, 5, 5, 4, 3, 2, 2, 2, 2,
+ 6, 3, -1, -4, -3, -1, 1, 1, 2, -1, -3, -4, -1, 2, 2, 0,
+ -1, -2, -2, 1, 4, 4, 1, -3, -2, -1, 1, 4, 6, 3, -3, -8,
+ 3, 3, 2, 1, -1, -2, -2, -2, -4, -4, -2, -1, 1, 3, 4, 4,
+ -4, -5, -5, -4, -2, 0, 2, 2, 7, 7, 4, 1, -1, -2, -3, -2,
+ -1, 1, 3, 0, -4, -6, 0, 6, -2, 1, 4, 1, -4, -6, -1, 7,
+ -3, 1, 4, 2, -3, -6, -1, 6, -2, 0, 3, 2, -2, -5, -1, 4,
+ 1, -1, -2, 1, 4, 4, -1, -7, 1, -1, -4, -1, 5, 6, 0, -6,
+ 3, 0, -4, -3, 3, 6, 2, -4, 3, 0, -5, -4, 1, 4, 1, -3,
+ 2, 2, 3, 3, 3, 3, 2, 2, -4, -5, -6, -7, -7, -7, -7, -6,
+ 1, 2, 3, 3, 3, 3, 2, 2, 0, 0, 1, 1, 1, 2, 2, 1,
+ 3, -3, -3, 3, 4, -2, -2, 2, 3, -4, -4, 4, 4, -4, -4, 2,
+ 4, -4, -4, 4, 4, -4, -3, 3, 3, -3, -4, 3, 3, -3, -3, 3,
+ -2, -2, -2, -2, -2, -2, -1, -1, 6, 7, 8, 8, 8, 7, 6, 5,
+ -5, -6, -7, -7, -8, -7, -6, -5, 1, 1, 2, 2, 2, 2, 1, 1,
+ 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, 0, 0, 0, -1, 0, 0,
+ -2, -3, -2, -2, -2, -3, -3, -3, 2, 3, 5, 6, 4, 2, 1, 0,
+ 8, 6, 2, 0, 0, 0, 0, 0, 4, 1, 0, 0, 0, -1, -1, -1,
+ 1, -1, 0, 0, 0, -1, -2, -3, -2, -2, -1, 0, 0, -2, -4, -5,
+ 3, 1, -1, -2, -3, -4, -5, -5, 2, 1, 0, 0, 1, 1, 0, 0,
+ 0, -1, -1, 0, 2, 2, 2, 2, -1, -2, -1, 1, 2, 2, 2, 2,
+ 0, -1, -2, -1, -1, -1, -1, 0, -1, -2, -2, -1, -1, 0, 0, 1,
+ 2, 1, 1, 2, 2, 1, 1, 0, 6, 5, 3, 1, 0, -2, -4, -4,
+ -3, -2, -1, 0, 1, 1, 0, -1, 0, 1, 3, 4, 5, 5, 3, 1,
+ -1, -1, -1, 0, 1, 0, -1, -2, -2, -2, -2, -1, 0, -1, -2, -3,
+ 0, -1, -2, -2, -1, -1, 0, 2, 1, -1, -2, -1, -1, -1, 0, 2,
+ 1, 0, -2, -2, -2, -2, 1, 5, 1, -1, -2, -2, -2, 0, 5, 10,
+ 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 1, 2,
+ 1, 2, 2, 3, 4, 4, 6, 5, -3, -3, -3, -2, -2, -3, -3, -3,
+ 1, -1, -2, -2, 0, 3, 5, 7, 2, 0, -2, -3, -2, 0, 2, 3,
+ 3, 1, -2, -3, -3, -2, -1, -1, 3, 1, 0, -1, -1, -1, -1, -1,
+ 1, 3, 5, 4, 2, -1, -3, -4, -3, -2, 1, 2, 1, 0, -1, -2,
+ -5, -3, 0, 2, 2, 1, 0, 0, -3, -1, 1, 2, 2, 1, 0, 0,
+ 0, -1, -1, -1, 1, 2, 3, 4, -3, -4, -4, -3, -1, 0, 0, 1,
+ -2, -3, -2, -1, 1, 1, 1, 1, -2, -2, 0, 3, 4, 4, 3, 2,
+ -4, -4, -3, -2, -1, 1, 2, 3, 0, 1, 1, 1, -1, -2, -3, -3,
+ 3, 4, 5, 4, 2, -1, -3, -3, -2, -2, 0, 2, 2, 2, 1, 0,
+ -4, 0, 5, 7, 4, -1, -4, -4, -1, 2, 4, 3, 0, -3, -3, -2,
+ 2, 1, 0, -1, -2, -2, 0, 1, 0, 0, -1, -2, -2, -1, 1, 2,
+ -4, -3, -2, -1, 0, 1, 2, 2, 10, 9, 5, 0, -3, -4, -3, -2,
+ 1, -1, -2, -2, -1, 0, 0, 0, -2, -2, -1, 1, 1, 1, 0, -1,
+ -5, -3, 0, 3, 4, 2, 0, -2, -2, -1, 0, 1, 1, 0, -1, -1,
+ 3, 2, -1, -2, -2, -1, 1, 1, 7, 5, -1, -5, -6, -2, 2, 4,
+ -2, 3, 3, -3, -4, 1, 2, -2, -3, 3, 4, -3, -4, 2, 3, -2,
+ -3, 3, 4, -3, -4, 2, 3, -2, -4, 2, 4, -2, -3, 1, 2, -1,
+ 4, 3, -1, -3, -3, -1, 1, 2, -4, -6, -4, 0, 4, 5, 4, 1,
+ 0, 2, 5, 6, 2, -3, -5, -4, 1, 1, -1, -3, -5, -2, 2, 4,
+ -1, 0, 1, 2, 2, 3, 3, 4, -1, 0, 1, 1, 0, -1, -1, -1,
+ -1, 0, 1, 2, 2, 1, -1, -2, -3, -2, -1, 0, 0, -1, -2, -3,
+ 1, 1, 1, 1, 0, 0, 1, 2, 1, 0, -1, 0, 0, 1, 1, 0,
+ 1, -2, -4, -1, 1, 2, 1, 0, 1, -4, -7, -3, 1, 3, 2, 1,
+ 1, 1, 1, 1, 1, 1, 0, -1, 1, 1, 1, 0, 1, 2, 2, 0,
+ 1, 1, 0, 0, 0, 2, 0, -3, 3, 2, 0, -1, -1, -2, -6, -9,
+ 0, 0, 0, 1, 0, 0, 1, 2, 1, 0, 0, 0, -1, -1, 0, 2,
+ 0, 1, 1, 1, -1, -3, -2, 0, -7, -5, 1, 6, 6, 2, -1, -1,
+ 3, 1, -1, -3, -4, -2, 1, 4, 2, 0, -2, -3, -4, -3, -1, 2,
+ 2, 2, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1,
+ -1, 1, 1, -2, -5, -6, -4, -1, -1, 1, 4, 3, 2, 0, 1, 2,
+ -1, 0, 2, 3, 1, 0, 0, 1, -1, 0, 1, 0, 0, -1, -1, 0,
+ 0, 1, 2, 2, 0, -2, -1, 1, -2, -1, -1, -2, -1, 2, 6, 8,
+ -1, -1, -2, -3, -2, 0, 1, 2, -1, 0, 0, -1, -1, 0, -1, -1,
+ 2, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, -1, -1, 1,
+ -1, 0, 2, 2, -1, -3, -2, 3, 0, 2, 3, 0, -5, -7, -2, 4,
+ -1, 0, 0, 0, -1, -2, -3, -3, -1, 0, -1, -2, -2, -2, -2, -2,
+ 1, 1, 0, 0, 1, 2, 0, -1, 1, 2, 1, 2, 5, 6, 2, 0,
+ -2, -4, -3, 0, 2, 2, 0, -3, 3, 1, 0, 1, 2, 1, -2, -3,
+ 3, 1, 0, 0, 0, 0, 0, -1, 1, -1, -2, -2, -1, 1, 3, 3,
+ 3, 2, 1, 2, 4, 3, 1, -2, -2, -4, -4, -3, -1, 0, -2, -3,
+ 1, 0, -1, -1, 0, 1, 0, -1, 3, 2, 0, 0, 0, 1, 1, 0,
+ 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 3, 2, 2, 2, 1, 1,
+ 0, -1, -2, -3, -5, -5, -5, -4, 1, 1, 0, -1, 0, 1, 3, 3,
+ -9, -6, -2, 0, 1, 1, 2, 2, -6, -2, 1, 2, 1, 1, 0, 1,
+ -2, 1, 2, 2, 1, 1, 1, 1, 0, 2, 2, 1, 0, 1, 1, 1,
+ 1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, -3, -2, 0,
+ -3, -3, -3, -2, -1, 3, 7, 9, 1, 2, 2, 2, 0, -2, -4, -3,
+ 2, 0, -2, -1, 3, 4, -1, -6, 1, 0, -2, -3, -1, 3, 3, 0,
+ 0, 3, 3, 0, -2, -1, 1, 1, -6, -1, 3, 2, -1, -2, 0, 1,
+ 5, 3, 0, -2, -3, 0, 2, 1, 1, 1, 2, 2, 0, -2, -4, -7,
+ -3, -2, 1, 2, 2, 1, -1, -4, 2, 2, 0, -2, -2, 0, 2, 2,
+ 0, 0, -2, -3, -2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2,
+ -2, -1, 0, 1, 0, 1, 2, 3, -4, -2, 0, 0, -1, 0, 2, 3,
+ -2, -2, -2, -1, -1, 0, 2, 4, 0, 0, 0, 0, -1, -1, 0, 1,
+ 0, -1, -1, -1, -1, -1, 0, 0, 6, 4, 2, 0, -1, -2, -1, -1,
+ 0, 1, 1, 1, 1, -1, -5,-10, 1, 1, 1, 1, 1, 1, 0, -4,
+ 1, 0, 1, 1, 1, 1, 1, -1, 2, 1, 1, 1, 0, 0, 0, 0,
+ -3, 1, 4, 3, 3, 1, -1, 0, -4, 0, 1, 0, -1, 0, 0, 0,
+ -5, 0, 2, 1, 1, 1, 0, -1, -1, 2, 1, -2, -2, -1, 0, -1,
+ 2, 4, 5, 3, 0, -1, 1, 2, 0, 0, 1, 0, -2, -2, -1, -1,
+ -2, -2, -2, -2, -3, -2, -1, 0, 0, 0, 1, 0, 0, 0, 1, 2,
+ 0, -2, -2, -3, -1, 2, 2, -1, 1, 0, 0, 0, 1, 5, 3, -2,
+ -1, -1, 0, -1, 0, 2, 0, -5, -1, 0, 1, 0, 0, 2, 2, -2,
+ 3, 1, -1, -1, 0, 1, 1, 2, 1, 0, 0, 1, 1, 1, 1, 1,
+ -10, -8, -2, 1, 2, 1, 1, 1, -1, 1, 2, 1, 0, 0, 0, 0,
+ -1, -1, 0, 1, 2, 2, 2, 1, -1, -1, -1, 0, -1, -3, -5, -4,
+ 1, 1, 2, 1, 1, 0, 0, 2, -1, -2, -1, -1, -1, 0, 2, 4,
+ -3, -7, -5, 0, 2, 0, 0, 0, 3, -1, -2, 1, 2, 1, 1, 2,
+ 1, -2, -1, 1, 2, 1, 0, 1, 0, -1, 0, 3, 2, -1, -1, -1,
+ 2, 1, 1, 0, 0, 0, 0, 0, -9, -7, -2, 3, 3, 2, 1, 1,
+ 3, 2, 0, -2, -2, -1, 1, 1, 0, -1, 0, 0, 1, 1, 0, 0,
+ -2, -1, 1, 1, 1, 0, 0, 0, 1, 2, 1, -2, -4, -3, 1, 2,
+ 1, 2, 1, -2, -3, 0, 3, 1, -1, -1, 0, 0, 1, 3, 0, -4,
+ 2, 0, -1, 1, 2, -2, -2, 3, 2, 0, -1, 2, 3, -2, -4, 1,
+ 0, 1, 1, 1, 2, -2, -6, -2, -1, 0, 0, 0, 2, 0, -2, -1,
+ -1, -1, 1, 2, 1, -2, -3, -2, 3, -1, -2, -1, -1, 0, 1, 2,
+ 10, 4, 0, 0, -1, -2, -2, -1, 3, -1, -2, -1, 0, -1, -1, 0,
+ -5, 2, 7, 1, -4, -2, 1, 0, -2, 2, 3, -1, -3, 0, 2, 0,
+ 2, 1, 0, 0, 1, 1, -1, -2, 1, -2, -2, -1, -1, -2, 0, 0,
+ 0, 3, -2, -7, -1, 3, 0, 0, 1, 3, -3, -5, 2, 3, -1, 0,
+ 0, 2, -2, -2, 4, 2, -2, 0, -1, 1, -1, 0, 2, -1, -2, 1,
+ 4, 0, -3, -4, -2, 1, 2, 1, 0, 0, 3, 5, 3, 1, -1, -2,
+ 1, 1, 1, -1, -3, -1, 1, 1, 1, -1, -2, -2, 0, 0, -1, -2
};
-static const uint32 s_svq1IntraCodebook8x8[1536] = {
- 0x02030404, 0xff000102, 0x02030304, 0xffff0001,
- 0x02020303, 0xfeff0001, 0x01020203, 0xfdfeff00,
- 0x00010202, 0xfdfeffff, 0x00000102, 0xfcfdfeff,
- 0xff000001, 0xfcfcfdfe, 0xfeff0000, 0xfcfcfdfe,
- 0x03030302, 0x03030303, 0x02020202, 0x03030202,
- 0x02020201, 0x02020202, 0x01010100, 0x01010101,
- 0x000000ff, 0x01010000, 0xfffffefe, 0xffffffff,
- 0xfdfdfdfd, 0xfefefdfd, 0xfcfcfcfb, 0xfdfcfcfc,
- 0x00fffefc, 0x03020201, 0x00fffefc, 0x03030201,
- 0x00fffdfc, 0x03030201, 0x00fffdfc, 0x03030201,
- 0x00fffdfb, 0x03030201, 0x00fffdfb, 0x03030201,
- 0x00fffdfb, 0x03020101, 0xfffefdfb, 0x03020100,
- 0x05050404, 0x07070606, 0x03020202, 0x04040403,
- 0x00000000, 0x02010101, 0xfefefefe, 0x00ffffff,
- 0xfefefefe, 0xfefefefe, 0xfefefefe, 0xfefefefe,
- 0xfefefeff, 0xfefefefe, 0xffffffff, 0xfefefefe,
- 0xff010305, 0xfdfdfdfe, 0xff010305, 0xfdfdfdfe,
- 0xff010305, 0xfdfdfdfe, 0xff010305, 0xfdfdfdfe,
- 0x00010405, 0xfdfdfdfe, 0x00020406, 0xfdfdfefe,
- 0x00020406, 0xfdfefeff, 0x01020406, 0xfefefeff,
- 0x030301ff, 0xfafd0002, 0x040301ff, 0xfafd0003,
- 0x040401ff, 0xfafd0103, 0x040301ff, 0xfafd0103,
- 0x040301fe, 0xfafd0103, 0x040301fe, 0xf9fd0103,
- 0x030301fe, 0xf9fd0002, 0x030200fe, 0xfafd0002,
- 0x0608090a, 0x04040506, 0x03040506, 0x01020202,
- 0xff000102, 0xfffefefe, 0xfcfdfeff, 0xfdfcfcfc,
- 0xfcfcfdfe, 0xfdfcfcfb, 0xfdfdfefe, 0xfefefdfd,
- 0xffffffff, 0x00ffffff, 0x01010101, 0x02010101,
- 0x0201fffe, 0x08070504, 0x0100fefd, 0x08070503,
- 0x00fffdfc, 0x07060402, 0xfffefcfb, 0x07050301,
- 0xfefdfbfa, 0x06040200, 0xfefcfbfa, 0x050301ff,
- 0xfdfbfaf9, 0x030200fe, 0xfcfbf9f8, 0x0201fffd,
- 0x0507090b, 0xffff0103, 0x0306080a, 0xfefe0001,
- 0x02050709, 0xfcfdfe00, 0x01030608, 0xfcfcfdff,
- 0xff020406, 0xfbfbfcfd, 0xfe000305, 0xfafafbfc,
- 0xfdff0103, 0xf9f9fafb, 0xfcfe0002, 0xf9f9fafa,
- 0x07070605, 0x08080807, 0x05050403, 0x06060606,
- 0x03020200, 0x05040404, 0x0100fffe, 0x03030202,
- 0xfffefdfc, 0x02010100, 0xfdfcfbfa, 0x00fffefe,
- 0xfafaf9f8, 0xfdfdfcfb, 0xf8f8f7f6, 0xfbfafaf9,
- 0x01030506, 0xf8fafdff, 0x02040506, 0xf8fafdff,
- 0x02040506, 0xf8fafd00, 0x02040506, 0xf8fafd00,
- 0x02040606, 0xf8fafd00, 0x02040506, 0xf8fafd00,
- 0x02040506, 0xf8fafd00, 0x02040506, 0xf8fbfdff,
- 0x08090a0b, 0x04050607, 0x06070808, 0x02030405,
- 0x04040506, 0x00010202, 0x01020303, 0xfeff0000,
- 0xff000101, 0xfdfdfefe, 0xfdfeffff, 0xfbfbfcfc,
- 0xfbfcfcfd, 0xf9f9fafa, 0xf9fafbfb, 0xf8f8f8f8,
- 0xf5f4f3f2, 0xfcfaf9f7, 0xf7f6f5f4, 0xfffdfbf9,
- 0xfaf9f7f6, 0x0200fefd, 0xfefcfaf8, 0x05040200,
- 0x0200fdfb, 0x08070504, 0x040200fe, 0x0a090806,
- 0x07050300, 0x0c0b0a08, 0x08070503, 0x0c0c0b0a,
- 0xeeeeeded, 0xf2f1f0ef, 0xf3f2f1f1, 0xf7f6f5f4,
- 0xf8f7f6f5, 0xfdfcfbfa, 0xfefdfbfa, 0x020100ff,
- 0x030200ff, 0x06060504, 0x08070604, 0x0a0a0a09,
- 0x0c0b0a09, 0x0e0e0e0d, 0x0f0e0e0c, 0x10101010,
- 0x11131516, 0x05090b0e, 0x0e111314, 0x0104080b,
- 0x0a0d0f11, 0xfc000306, 0x05080b0d, 0xf7fbfe01,
- 0xff030609, 0xf3f5f9fc, 0xfafd0004, 0xeff1f4f7,
- 0xf5f8fbfe, 0xeceef0f2, 0xf0f3f6f8, 0xeaebedef,
- 0x12121211, 0x0e101011, 0x0f0f1010, 0x0b0c0d0e,
- 0x0a0b0c0c, 0x05070809, 0x04060607, 0xff010203,
- 0xfeff0001, 0xfafbfcfd, 0xf8f9fafb, 0xf4f5f6f7,
- 0xf2f3f4f5, 0xeff0f0f1, 0xeeefeff0, 0xecececed,
- 0x00000000, 0xfdfeffff, 0x00000001, 0xfdfeff00,
- 0x00000101, 0xfefeffff, 0x00010101, 0xfeffff00,
- 0x01010102, 0xfeffff00, 0x01010202, 0xfeff0000,
- 0x01010202, 0xffff0001, 0x01010202, 0xfe000001,
- 0x00ffff00, 0x03020100, 0x00ffff00, 0x02020101,
- 0xffffffff, 0x02020100, 0xfffeffff, 0x02010100,
- 0xfffefeff, 0x02010000, 0xfefefeff, 0x020100ff,
- 0xfffeffff, 0x02010000, 0xffffffff, 0x02010100,
- 0x02020203, 0x00000101, 0x02020203, 0x00000102,
- 0x01020202, 0x00000101, 0x01010202, 0xff000001,
- 0x00010101, 0xffff0000, 0xffff0000, 0xffffffff,
- 0xfefefefe, 0xfefefefe, 0xfdfdfdfe, 0xfefefefe,
- 0x00000205, 0x000000ff, 0xff000204, 0xff00ffff,
- 0xffff0104, 0xfffffffe, 0xffff0104, 0xfffffffe,
- 0xfeff0104, 0xfffffffe, 0xfeff0104, 0xfffffffe,
- 0xffff0104, 0xffffffff, 0xff000204, 0xff000000,
- 0x0100fffe, 0x01010101, 0x0100fffd, 0x01010101,
- 0x0100fffd, 0x01010101, 0x0100fffd, 0x01010101,
- 0x0100fefd, 0x01010202, 0x0100fefc, 0x02020202,
- 0x01fffdfb, 0x02010201, 0x00fefdfb, 0x01010101,
- 0x00010303, 0xfbfcfcfe, 0x00020303, 0xfcfdfeff,
- 0x01010202, 0xfefeff00, 0x01010101, 0x00000001,
- 0x01000000, 0x01010101, 0x00fffffe, 0x02020100,
- 0xfffefefd, 0x03020100, 0xfffefdfd, 0x03020100,
- 0xfdfdfdfd, 0xfefefefd, 0xfefefdfd, 0xfffffffe,
- 0xfffefefe, 0xffffffff, 0x00ffffff, 0x00000000,
- 0x00000000, 0x01010101, 0x01010000, 0x02020202,
- 0x02010101, 0x03030302, 0x02020202, 0x03030303,
- 0xfdfbf9f8, 0xff00fffe, 0x00fffdfc, 0x01010201,
- 0x030201ff, 0x01020203, 0x03030201, 0x00010202,
- 0x02030302, 0xff000001, 0x00010201, 0xffffffff,
- 0xff000101, 0xfffefeff, 0x00000101, 0xff00ffff,
- 0x00fefdfc, 0x03030201, 0x00fefdfc, 0x02020201,
- 0xfffefdfd, 0x01010100, 0xfffefefe, 0x000000ff,
- 0xffffff00, 0xffffffff, 0x00010102, 0xfeffff00,
- 0x01030303, 0xfefeff00, 0x02040405, 0xfeff0001,
- 0x00000000, 0x03030201, 0x0000ff00, 0x03030201,
- 0x0000ff00, 0x02030201, 0x01000000, 0x02020201,
- 0x01010102, 0x00010101, 0x01020202, 0xfeff0000,
- 0x00000102, 0xfafbfdfe, 0xfdffff00, 0xf7f8fafb,
- 0x020100fe, 0xfcff0102, 0x020200fe, 0xfcff0102,
- 0x020200fe, 0xfdff0102, 0x020200fe, 0xfdff0102,
- 0x0202fffe, 0xfdff0102, 0x0201fffe, 0xfdff0102,
- 0x0201fffd, 0xfdff0102, 0x0201fffe, 0xfdff0102,
- 0xff0101ff, 0x0400fdfd, 0xff0101ff, 0x0400fdfd,
- 0x000101ff, 0x0400fdfd, 0x000201ff, 0x0500fdfd,
- 0x00020100, 0x0400fcfd, 0x00020100, 0x0500fcfd,
- 0x00020100, 0x0400fdfd, 0xff020100, 0x0400fefe,
- 0x06050606, 0x05050505, 0x02020202, 0x02020202,
- 0x00000000, 0x00000000, 0xffffffff, 0xfefefefe,
- 0xfefefefe, 0xfefefefe, 0xfefefefe, 0xfefefefe,
- 0xfffeffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0x02020202, 0x02020202, 0x00010100, 0x00000000,
- 0xfefefeff, 0xfffefefe, 0xfdfdfdfd, 0xfefdfdfd,
- 0xfdfcfcfd, 0xfefefdfd, 0xfefefefe, 0x0000ffff,
- 0x01010100, 0x03030202, 0x05040403, 0x06060605,
- 0xfdfe0104, 0x0301fffd, 0xfcfe0104, 0x0301fffd,
- 0xfcfe0105, 0x0401fffd, 0xfdfe0105, 0x0402fffd,
- 0xfdfe0105, 0x0402fffd, 0xfcfd0004, 0x0402fffd,
- 0xfdfd0004, 0x0301fffd, 0xfdfe0003, 0x0301fffe,
- 0xfcfcfcfd, 0xfcfcfcfc, 0xffffffff, 0xfefeffff,
- 0x02010102, 0x01010102, 0x04030303, 0x03030304,
- 0x04030303, 0x03030404, 0x02010201, 0x02020202,
- 0xfffefefe, 0x0000ffff, 0xfcfcfcfc, 0xfdfdfdfd,
- 0xfdfdfeff, 0x00fffefe, 0xfefeff00, 0x0100fffe,
- 0xffff0102, 0x0100ffff, 0xff000103, 0x010000ff,
- 0xff000203, 0x01000000, 0xff000103, 0x01000000,
- 0xff000103, 0x01000000, 0x00000102, 0x01000000,
- 0x01000000, 0x04030201, 0x00ff0000, 0x03020000,
- 0xffffff00, 0x0100ffff, 0xffffff00, 0x00ffffff,
- 0xffff0000, 0xfffefeff, 0xff000001, 0xfffefeff,
- 0x00010202, 0xffffffff, 0x01020303, 0x00ffff00,
- 0x00010001, 0xfffeff00, 0x00000000, 0xfffeffff,
- 0x0000ff00, 0xffffffff, 0x00ffffff, 0x00000000,
- 0x00ffffff, 0x01010000, 0x00ffffff, 0x03020101,
- 0x00fffefe, 0x04030201, 0x00fffefe, 0x05040201,
- 0x0001fffd, 0x0100ff00, 0x000100fd, 0x0200ffff,
- 0x000100fd, 0x0200ffff, 0x000201fe, 0x0200ffff,
- 0x000201fe, 0x0200ffff, 0x000201fe, 0x0200ffff,
- 0x000202ff, 0x0200ffff, 0x000101ff, 0x01ffffff,
- 0x01fffefe, 0x01030403, 0x00fffefe, 0x00020302,
- 0x00fffefe, 0xff010201, 0x00ffffff, 0xff010201,
- 0x00ffffff, 0xfe000101, 0x00ffff00, 0xff000101,
- 0x00ffff00, 0xff010101, 0x00ffff00, 0xff000100,
- 0x0100fffe, 0x01010101, 0x0000fffe, 0x00000000,
- 0x00fffffe, 0xfefeffff, 0xfffffffe, 0xfdfefeff,
- 0x010100ff, 0xfefeff00, 0x03030201, 0x00000102,
- 0x03030201, 0x00010203, 0x01010000, 0x00000101,
- 0xffffff00, 0x00000000, 0x00000001, 0x01010000,
- 0x01010101, 0x01010101, 0x02020101, 0x01010101,
- 0x01010101, 0x01010101, 0x010000ff, 0x00000001,
- 0xfffffefd, 0xff00ffff, 0xfdfcfbfb, 0xfffefefe,
- 0x01010101, 0xff000102, 0x02010101, 0xff000101,
- 0x01010101, 0xfe000101, 0x01010102, 0xfe000101,
- 0x00000101, 0xfdff0000, 0x00000101, 0xfdfeff00,
- 0x00000101, 0xfcfeffff, 0xff000001, 0xfcfdfefe,
- 0x03050708, 0x01010102, 0x00000102, 0xfffeffff,
- 0xfeffffff, 0xfffefefe, 0xffffffff, 0x00ffff00,
- 0x01000000, 0x00000001, 0x01010000, 0x00000001,
- 0x000000ff, 0xffff0000, 0xfffffefe, 0xfffefeff,
- 0xfe000409, 0xfffffefe, 0xfeff0207, 0x0000fffe,
- 0xfefe0004, 0x010100ff, 0xfefefe01, 0x010100ff,
- 0xfffefeff, 0x01010100, 0x00fffeff, 0x00010101,
- 0x0100ffff, 0xff000101, 0x0100ff00, 0xffff0000,
- 0x01010100, 0x00000101, 0x02020201, 0x00000001,
- 0x02020202, 0xffff0001, 0x00010101, 0xfefefeff,
- 0xff000000, 0xfefefdfe, 0xfeffffff, 0x00fffefe,
- 0xffffffff, 0x02010000, 0x00ffffff, 0x04030201,
- 0x0000ffff, 0xfdfdfeff, 0x0000ffff, 0xffffff00,
- 0x00fffefe, 0x01010101, 0x00fefefe, 0x03030201,
- 0x00ffffff, 0x03030301, 0x00000001, 0x02020101,
- 0x00010202, 0xffffff00, 0x00010203, 0xfdfdfeff,
- 0xfeffffff, 0xfbfcfdfe, 0xff000000, 0xfcfdfdff,
- 0x00010101, 0xfdfeff00, 0x01020202, 0xffff0001,
- 0x02020202, 0xff000101, 0x02020202, 0x00000102,
- 0x01020101, 0x00000101, 0x01010000, 0xff000000,
- 0x010302fe, 0xff0101ff, 0x000302fd, 0xff0101ff,
- 0x000302fd, 0xff0101ff, 0x000302fc, 0xfe0101ff,
- 0x000301fc, 0xfe0101ff, 0xff0301fc, 0xfe0101fe,
- 0x000201fd, 0xfe0101ff, 0x000201fd, 0xff0101ff,
- 0xfeffffff, 0xfefefefe, 0x01010101, 0x00000000,
- 0x02020201, 0x02020202, 0x01010000, 0x02020201,
- 0xfffffefe, 0x000000ff, 0xfdfdfdfd, 0xfefdfdfd,
- 0xffffffff, 0xfefefefe, 0x04040404, 0x02030304,
- 0xfffefdfd, 0x05020100, 0xfefdfdfd, 0x060301ff,
- 0xfefefdfd, 0x05030200, 0xfefefefd, 0x05030100,
- 0xfffefefe, 0x050301ff, 0xfffffefe, 0x04020100,
- 0xffffffff, 0x04010100, 0xffffffff, 0x03020100,
- 0x0100ff00, 0xffff0001, 0x01000000, 0xffff0002,
- 0x00ff0001, 0x00000001, 0xfffeff01, 0x00000000,
- 0xfffdfe01, 0x01000000, 0xfefdff01, 0x02010100,
- 0xfffeff01, 0x02010100, 0x00ff0002, 0x02020101,
- 0x01010101, 0x02010000, 0xff0000ff, 0x01000000,
- 0xfffffefd, 0x010100ff, 0x00fffefc, 0x01010100,
- 0x0000fefd, 0x01010101, 0x0100fffd, 0x00000101,
- 0x010100ff, 0xff000001, 0x02020100, 0xff000001,
- 0xfdfcfcfc, 0xfffffffe, 0xfffefefe, 0x00000000,
- 0x000000ff, 0x01010101, 0x01010000, 0x01010101,
- 0x01010000, 0x00010202, 0x01010000, 0x00010101,
- 0x01000000, 0x00010101, 0x010000ff, 0x00000101,
- 0x02020201, 0xfcfeff01, 0x02020101, 0xfcfe0001,
- 0x01010100, 0xfdff0001, 0x010100ff, 0xfeff0000,
- 0x010100ff, 0xff000001, 0x0000fffe, 0xff000000,
- 0x0100ffff, 0x00000001, 0x010100ff, 0x00010101,
- 0xff000202, 0xfefffffe, 0xfeff0101, 0xfefffffe,
- 0xfeff0101, 0xff0000fe, 0xfe000101, 0x000101ff,
- 0xff000101, 0x010201ff, 0xff000101, 0x010201ff,
- 0xff000101, 0x010101ff, 0xff000101, 0x01010100,
- 0xfeff0000, 0xfcfcfcfc, 0x02030303, 0x00000001,
- 0x03030303, 0x02020202, 0x00000000, 0x01000000,
- 0xffffffff, 0x00ffffff, 0x0000ff00, 0x000000ff,
- 0x00000000, 0x00000000, 0x00000000, 0x00ffff00,
- 0xff00ffff, 0xff0201ff, 0x00000101, 0xff030200,
- 0xff000101, 0xff0301ff, 0xfe000101, 0xfe0100fe,
- 0xfe000001, 0xfd0100fe, 0x00000000, 0xfd0101ff,
- 0x00010100, 0xfd010201, 0x010100ff, 0xfc010201,
- 0x0100fdfc, 0x00000101, 0x0100fefc, 0xff000101,
- 0x0101fffd, 0xffff0001, 0x010101ff, 0x00ff0001,
- 0x01020201, 0x0000ff00, 0x00010202, 0x0100ffff,
- 0xff000102, 0x0100fffe, 0xff000202, 0x0101fffe,
- 0x00000101, 0xffffffff, 0xffffff00, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffff0000, 0xffffffff,
- 0xff000001, 0xffffffff, 0x00000102, 0xffffffff,
- 0x01020305, 0x00000000, 0x02030506, 0x00000001,
- 0x01030404, 0x01000000, 0x01020303, 0x01000000,
- 0x00010202, 0x0100ffff, 0xff000000, 0x0100ffff,
- 0xffff0000, 0x0200fffe, 0xfeffff00, 0x0100fefe,
- 0xfeffff00, 0x00fffefe, 0xfeff0000, 0x00fffefe,
- 0xffff0000, 0x030200ff, 0xfefeff00, 0x0201ffff,
- 0xffff0001, 0x000000ff, 0x00010101, 0xffff0000,
- 0x00010201, 0xffffff00, 0x000000ff, 0xffffffff,
- 0xfffffefd, 0x02010100, 0x01fffdfc, 0x05050302,
- 0x00000000, 0x00000000, 0x01010101, 0x01010101,
- 0xff000000, 0x01000000, 0xfefeffff, 0x00fffffe,
- 0x00000000, 0x01010100, 0x02020202, 0x03030302,
- 0x01010101, 0x01010202, 0xfcfcfdfc, 0xfdfdfcfc,
- 0x020100ff, 0x03030302, 0xffffffff, 0x00000000,
- 0xfeff0000, 0xfefdfdfe, 0x00010203, 0xfefefeff,
- 0x01020304, 0x00000001, 0x01010202, 0x01010100,
- 0xffffff00, 0x010000ff, 0xfefefefe, 0x0000fffe,
- 0x0200ff01, 0x01fffe01, 0x0200ff01, 0x01fefe01,
- 0x0300ff01, 0x01fffe02, 0x0300fe00, 0x01fefe02,
- 0x0300fe00, 0x01fefe02, 0x0300fe00, 0x01fffe01,
- 0x0200fe00, 0x01fefe01, 0x0200ff00, 0x01fffe01,
- 0x02020100, 0x02020303, 0x02010100, 0x01020303,
- 0x02010000, 0x01020202, 0x010000ff, 0x01010101,
- 0x0000ffff, 0x00000000, 0xffffffff, 0xffffffff,
- 0xfefefefe, 0xfffefefe, 0xfefefefe, 0xfffefefe,
- 0xfeff0000, 0x050300ff, 0xffff0000, 0x040200ff,
- 0x00000101, 0x0201ffff, 0x01010201, 0x00ffff00,
- 0x01020100, 0xfefeff00, 0x020100ff, 0xfdfd0001,
- 0x0201fffe, 0xfcfe0002, 0x0200fffe, 0xfdff0102,
- 0x00000000, 0xffff0000, 0x00ff0000, 0x00000000,
- 0xffffffff, 0x00000000, 0xffffffff, 0x00ffffff,
- 0xffffffff, 0x00ffffff, 0x000000ff, 0x00ffff00,
- 0x01010000, 0x01000000, 0x04030303, 0x03030303,
- 0xfefe0105, 0xff000000, 0xfffdff04, 0xff000000,
- 0x00ffff03, 0xff000101, 0x01000002, 0xfe000101,
- 0x01000001, 0xfe000101, 0xffffff00, 0xff000000,
- 0xffffff00, 0xff0000ff, 0x00000102, 0x00000100,
- 0x01010001, 0x00000101, 0x01000001, 0x00000001,
- 0x00ffff01, 0x00000000, 0xffff0002, 0x00ffffff,
- 0xffff0103, 0xfffefefe, 0x00010204, 0xfffefeff,
- 0x00000102, 0x0000ffff, 0xffffff00, 0x010100ff,
- 0x02020100, 0xfdff0102, 0x01010000, 0xfeff0001,
- 0x00000000, 0xffff0000, 0x00ff0000, 0x00010100,
- 0x00ff0000, 0x01010101, 0x00000000, 0x00010101,
- 0x01010000, 0xfdff0102, 0x01000000, 0xfbfcff01,
- 0xfffefefe, 0x02020200, 0x00000000, 0x00010101,
- 0x01010101, 0xfdfe0001, 0x01010000, 0xfcfdff00,
- 0x0100ffff, 0xfdfe0000, 0x0100ffff, 0xff000101,
- 0x01000000, 0x00010101, 0x01010101, 0x00000000,
- 0x00000100, 0x02010101, 0x00000201, 0x01ff0000,
- 0xff000200, 0x00ff0001, 0x00000100, 0x01000102,
- 0x00ff0100, 0x01000202, 0xffff00ff, 0x02010102,
- 0xfefdfefe, 0x01010100, 0xfdfdfefe, 0x00ffffff,
- 0x0100fffd, 0x00010102, 0x0100fffd, 0x01010102,
- 0x010000fe, 0x01010101, 0x000000ff, 0x00000000,
- 0x000000fe, 0x00ffff00, 0x000000fe, 0xffff0000,
- 0x010100fd, 0x01000101, 0x0100fefb, 0x02010202,
- 0x00fffffe, 0x03020100, 0x01010000, 0x02010000,
- 0x00010000, 0x0100ffff, 0xffffffff, 0x00fffefe,
- 0xfefefefe, 0x0100fffe, 0xff000000, 0x02020100,
- 0x00000102, 0x02020100, 0xff000102, 0x0000ffff,
- 0x01010100, 0xfcff0101, 0x0100ffff, 0xfd000101,
- 0x0000fffe, 0xfe020201, 0x000000ff, 0xff030200,
- 0x000000ff, 0x00020100, 0xfeff0000, 0x000101ff,
- 0xfeff0000, 0x010200fe, 0xfeff0000, 0x020201ff,
- 0x00000001, 0xfdfefdfe, 0x00010000, 0xfffffefe,
- 0x0101ff00, 0x0000ffff, 0x0101ff00, 0x0000ffff,
- 0x01020100, 0x0100ffff, 0x02030201, 0x02010000,
- 0x010200ff, 0x03020000, 0x0000fffe, 0x020100ff,
- 0xff000101, 0x01fffefe, 0xff010101, 0x0200fefe,
- 0xff010101, 0x0200ffff, 0x00000000, 0x02010000,
- 0x00ffffff, 0x02010000, 0x01fffeff, 0x00000101,
- 0x01fffeff, 0xff000202, 0x02fffeff, 0xff000202,
- 0xfeffffff, 0x0100ffff, 0xffff0000, 0x020100ff,
- 0x00000001, 0x02010100, 0x00000101, 0x01010101,
- 0x01000101, 0x01010001, 0x01010101, 0xffffff00,
- 0x00010201, 0xfdfefeff, 0x00010202, 0xfcfcfdfe,
- 0x0101fefc, 0x00000101, 0x000100fe, 0x00000000,
- 0xfe010100, 0x0100fffe, 0xfe010202, 0x0201fffe,
- 0xfe010201, 0x0201fffe, 0xff0101ff, 0x0100ffff,
- 0x010100fe, 0x00ffff00, 0x020200fe, 0x00ffff01,
- 0x00000101, 0x00000100, 0xfefdfdfe, 0x0000fffe,
- 0xfefdfcfd, 0x000000ff, 0x0100ffff, 0x01020302,
- 0x03020100, 0x01020303, 0x02010101, 0xff000001,
- 0x00000000, 0xffffffff, 0x00ffff00, 0x00000000,
- 0x00000101, 0x0200ffff, 0x00010000, 0x0101ffff,
- 0x0100fffe, 0x01010101, 0x0200fdfd, 0x00010102,
- 0x0100fefe, 0x00000101, 0x00000001, 0xffff0000,
- 0xfdff0103, 0x0100fffe, 0xfdff0204, 0x0201fffd,
- 0xff000000, 0xffffffff, 0x00010201, 0xffff0000,
- 0x02030302, 0xffff0001, 0x02040403, 0xfeff0001,
- 0x01020303, 0xfefeff00, 0xff000101, 0xfdfefeff,
- 0xff000000, 0xfefefeff, 0xffffffff, 0xfffefeff,
- 0x02020201, 0x02020102, 0x01010100, 0x00000001,
- 0x01000000, 0xfeff0001, 0x00000000, 0xfcff0001,
- 0x00000001, 0xfbfe0000, 0x00000001, 0xfcff0000,
- 0x00ff0001, 0xfdff0000, 0x00ffff00, 0xff010101,
- 0x0000fffe, 0xfeffffff, 0x000000ff, 0xfefeffff,
- 0x00010100, 0xfeffffff, 0x00010100, 0xffff0000,
- 0x00000100, 0x00010101, 0x00000101, 0x01020201,
- 0x00000101, 0x01020201, 0xff000101, 0x00010100,
- 0x00010204, 0x01010100, 0x00010204, 0x01000000,
- 0x00000103, 0x00ffffff, 0xff000001, 0x00fffeff,
- 0x00000000, 0x00ffffff, 0x0000ffff, 0x0100ffff,
- 0xff00fffe, 0x010000ff, 0xfefffefe, 0x010000ff,
- 0x01010100, 0xff000102, 0x00ffffff, 0xfefeff00,
- 0x00ff00ff, 0xfffeff00, 0x00000000, 0x02010000,
- 0x00000000, 0x03020000, 0xffff00ff, 0x0300ffff,
- 0xff0000ff, 0x0300feff, 0x00000000, 0x0401ffff,
- 0x00000202, 0x01000000, 0xfeff0101, 0x01fffeff,
- 0xfefeffff, 0x00fefdfe, 0xffff00ff, 0x01fffeff,
- 0x00000101, 0x01000001, 0x00000202, 0x01000001,
- 0x00000202, 0xffff0000, 0x00000202, 0xffff0001,
- 0x010100ff, 0xffffff00, 0x02030201, 0x00000001,
- 0x01010100, 0x0000ff00, 0x00fffefe, 0x00000001,
- 0x02fffefe, 0x00010202, 0x0100fffe, 0xff000001,
- 0x0000ffff, 0xfefffeff, 0x01010100, 0x01010000,
- 0xfefdfdfd, 0xfefeffff, 0x0100ffff, 0x00000102,
- 0x02010101, 0x00000102, 0x01010101, 0x01ff0001,
- 0xffff0001, 0x01ff0000, 0xffffff00, 0x01ffff00,
- 0x00ff0001, 0x0200ff00, 0x00ff0002, 0x02000000,
- 0xfffe0001, 0x00010100, 0xffff0002, 0x00010100,
- 0xfffe0001, 0xff000100, 0xffff0001, 0xff000100,
- 0x00010100, 0x00000101, 0x010201fe, 0x01000000,
- 0x010200fb, 0x0100ff00, 0x0102fffa, 0x0000ff00,
- 0xff000305, 0xfffffffe, 0xff000101, 0xffff00ff,
- 0x010100ff, 0x00010202, 0x0100fffe, 0x01010102,
- 0xfffffffe, 0x0100ff00, 0x00000100, 0x0000ffff,
- 0x01010100, 0x00000001, 0x0100fefd, 0xff000001,
- 0x000100ff, 0x030200ff, 0xfe0000ff, 0x00fffefc,
- 0x00010100, 0xff00fffe, 0x01030201, 0x00010100,
- 0x010100ff, 0x00010101, 0x00fefdfe, 0x00010000,
- 0x00fefeff, 0xff000001, 0x00000103, 0xffff0001,
- 0x0000fffe, 0x0000ffff, 0x000000ff, 0x01010100,
- 0x00ffffff, 0x01010101, 0xfffdfe00, 0x00000001,
- 0xfffdff01, 0xff000101, 0x01ff0103, 0xff000202,
- 0x01000103, 0x00010102, 0xfffefe00, 0x000000ff,
- 0xffff0001, 0x00010201, 0xfffeff00, 0x01020201,
- 0x00ffffff, 0x00020100, 0x000000fe, 0xff010000,
- 0x000100ff, 0xffffffff, 0x02010100, 0x00fffe00,
- 0x02020201, 0x00ffff01, 0x01010100, 0xfffefe00,
- 0xffff0000, 0xfefeffff, 0x00ff0000, 0x01020201,
- 0xffff0000, 0x02020100, 0xfeff0101, 0xffffffff,
- 0x00010202, 0xfefeff00, 0x01020201, 0xfefe0000,
- 0x00000000, 0xff000101, 0xffffff00, 0x01020302,
- 0x0201fe00, 0x010000ff, 0x0302feff, 0x000000ff,
- 0x0302fe00, 0x0000ffff, 0x0203ff00, 0x000100fe,
- 0x0103ff00, 0x000100fe, 0x0102ff00, 0xff0001ff,
- 0xff010000, 0xff0000fe, 0xfe000001, 0xfffffffe,
- 0x01010101, 0xfeffff01, 0x01000000, 0x01010101,
- 0x01000000, 0x03020101, 0xff000001, 0x02010000,
- 0xfeffff00, 0x020100ff, 0xfefefefe, 0x010100ff,
- 0xffffffff, 0xff000000, 0x00020202, 0xfcfeffff,
- 0xfffffeff, 0x03020100, 0xffffffff, 0x03020100,
- 0x00ff0001, 0x020100ff, 0x00000001, 0x020200ff,
- 0xffff0001, 0x020100fe, 0xfefefe00, 0x0100fffd,
- 0xfefefe00, 0x0101fffe, 0x00000000, 0x02020100
+static const int8 s_svq1IntraCodebook8x8[6144] = {
+ 4, 4, 3, 2, 2, 1, 0, -1, 4, 3, 3, 2, 1, 0, -1, -1,
+ 3, 3, 2, 2, 1, 0, -1, -2, 3, 2, 2, 1, 0, -1, -2, -3,
+ 2, 2, 1, 0, -1, -1, -2, -3, 2, 1, 0, 0, -1, -2, -3, -4,
+ 1, 0, 0, -1, -2, -3, -4, -4, 0, 0, -1, -2, -2, -3, -4, -4,
+ 2, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 3, 3,
+ 1, 2, 2, 2, 2, 2, 2, 2, 0, 1, 1, 1, 1, 1, 1, 1,
+ -1, 0, 0, 0, 0, 0, 1, 1, -2, -2, -1, -1, -1, -1, -1, -1,
+ -3, -3, -3, -3, -3, -3, -2, -2, -5, -4, -4, -4, -4, -4, -4, -3,
+ -4, -2, -1, 0, 1, 2, 2, 3, -4, -2, -1, 0, 1, 2, 3, 3,
+ -4, -3, -1, 0, 1, 2, 3, 3, -4, -3, -1, 0, 1, 2, 3, 3,
+ -5, -3, -1, 0, 1, 2, 3, 3, -5, -3, -1, 0, 1, 2, 3, 3,
+ -5, -3, -1, 0, 1, 1, 2, 3, -5, -3, -2, -1, 0, 1, 2, 3,
+ 4, 4, 5, 5, 6, 6, 7, 7, 2, 2, 2, 3, 3, 4, 4, 4,
+ 0, 0, 0, 0, 1, 1, 1, 2, -2, -2, -2, -2, -1, -1, -1, 0,
+ -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
+ -1, -2, -2, -2, -2, -2, -2, -2, -1, -1, -1, -1, -2, -2, -2, -2,
+ 5, 3, 1, -1, -2, -3, -3, -3, 5, 3, 1, -1, -2, -3, -3, -3,
+ 5, 3, 1, -1, -2, -3, -3, -3, 5, 3, 1, -1, -2, -3, -3, -3,
+ 5, 4, 1, 0, -2, -3, -3, -3, 6, 4, 2, 0, -2, -2, -3, -3,
+ 6, 4, 2, 0, -1, -2, -2, -3, 6, 4, 2, 1, -1, -2, -2, -2,
+ -1, 1, 3, 3, 2, 0, -3, -6, -1, 1, 3, 4, 3, 0, -3, -6,
+ -1, 1, 4, 4, 3, 1, -3, -6, -1, 1, 3, 4, 3, 1, -3, -6,
+ -2, 1, 3, 4, 3, 1, -3, -6, -2, 1, 3, 4, 3, 1, -3, -7,
+ -2, 1, 3, 3, 2, 0, -3, -7, -2, 0, 2, 3, 2, 0, -3, -6,
+ 10, 9, 8, 6, 6, 5, 4, 4, 6, 5, 4, 3, 2, 2, 2, 1,
+ 2, 1, 0, -1, -2, -2, -2, -1, -1, -2, -3, -4, -4, -4, -4, -3,
+ -2, -3, -4, -4, -5, -4, -4, -3, -2, -2, -3, -3, -3, -3, -2, -2,
+ -1, -1, -1, -1, -1, -1, -1, 0, 1, 1, 1, 1, 1, 1, 1, 2,
+ -2, -1, 1, 2, 4, 5, 7, 8, -3, -2, 0, 1, 3, 5, 7, 8,
+ -4, -3, -1, 0, 2, 4, 6, 7, -5, -4, -2, -1, 1, 3, 5, 7,
+ -6, -5, -3, -2, 0, 2, 4, 6, -6, -5, -4, -2, -1, 1, 3, 5,
+ -7, -6, -5, -3, -2, 0, 2, 3, -8, -7, -5, -4, -3, -1, 1, 2,
+ 11, 9, 7, 5, 3, 1, -1, -1, 10, 8, 6, 3, 1, 0, -2, -2,
+ 9, 7, 5, 2, 0, -2, -3, -4, 8, 6, 3, 1, -1, -3, -4, -4,
+ 6, 4, 2, -1, -3, -4, -5, -5, 5, 3, 0, -2, -4, -5, -6, -6,
+ 3, 1, -1, -3, -5, -6, -7, -7, 2, 0, -2, -4, -6, -6, -7, -7,
+ 5, 6, 7, 7, 7, 8, 8, 8, 3, 4, 5, 5, 6, 6, 6, 6,
+ 0, 2, 2, 3, 4, 4, 4, 5, -2, -1, 0, 1, 2, 2, 3, 3,
+ -4, -3, -2, -1, 0, 1, 1, 2, -6, -5, -4, -3, -2, -2, -1, 0,
+ -8, -7, -6, -6, -5, -4, -3, -3,-10, -9, -8, -8, -7, -6, -6, -5,
+ 6, 5, 3, 1, -1, -3, -6, -8, 6, 5, 4, 2, -1, -3, -6, -8,
+ 6, 5, 4, 2, 0, -3, -6, -8, 6, 5, 4, 2, 0, -3, -6, -8,
+ 6, 6, 4, 2, 0, -3, -6, -8, 6, 5, 4, 2, 0, -3, -6, -8,
+ 6, 5, 4, 2, 0, -3, -6, -8, 6, 5, 4, 2, -1, -3, -5, -8,
+ 11, 10, 9, 8, 7, 6, 5, 4, 8, 8, 7, 6, 5, 4, 3, 2,
+ 6, 5, 4, 4, 2, 2, 1, 0, 3, 3, 2, 1, 0, 0, -1, -2,
+ 1, 1, 0, -1, -2, -2, -3, -3, -1, -1, -2, -3, -4, -4, -5, -5,
+ -3, -4, -4, -5, -6, -6, -7, -7, -5, -5, -6, -7, -8, -8, -8, -8,
+ -14,-13,-12,-11, -9, -7, -6, -4,-12,-11,-10, -9, -7, -5, -3, -1,
+ -10, -9, -7, -6, -3, -2, 0, 2, -8, -6, -4, -2, 0, 2, 4, 5,
+ -5, -3, 0, 2, 4, 5, 7, 8, -2, 0, 2, 4, 6, 8, 9, 10,
+ 0, 3, 5, 7, 8, 10, 11, 12, 3, 5, 7, 8, 10, 11, 12, 12,
+ -19,-19,-18,-18,-17,-16,-15,-14,-15,-15,-14,-13,-12,-11,-10, -9,
+ -11,-10, -9, -8, -6, -5, -4, -3, -6, -5, -3, -2, -1, 0, 1, 2,
+ -1, 0, 2, 3, 4, 5, 6, 6, 4, 6, 7, 8, 9, 10, 10, 10,
+ 9, 10, 11, 12, 13, 14, 14, 14, 12, 14, 14, 15, 16, 16, 16, 16,
+ 22, 21, 19, 17, 14, 11, 9, 5, 20, 19, 17, 14, 11, 8, 4, 1,
+ 17, 15, 13, 10, 6, 3, 0, -4, 13, 11, 8, 5, 1, -2, -5, -9,
+ 9, 6, 3, -1, -4, -7,-11,-13, 4, 0, -3, -6, -9,-12,-15,-17,
+ -2, -5, -8,-11,-14,-16,-18,-20, -8,-10,-13,-16,-17,-19,-21,-22,
+ 17, 18, 18, 18, 17, 16, 16, 14, 16, 16, 15, 15, 14, 13, 12, 11,
+ 12, 12, 11, 10, 9, 8, 7, 5, 7, 6, 6, 4, 3, 2, 1, -1,
+ 1, 0, -1, -2, -3, -4, -5, -6, -5, -6, -7, -8, -9,-10,-11,-12,
+ -11,-12,-13,-14,-15,-16,-16,-17,-16,-17,-17,-18,-19,-20,-20,-20,
+ 0, 0, 0, 0, -1, -1, -2, -3, 1, 0, 0, 0, 0, -1, -2, -3,
+ 1, 1, 0, 0, -1, -1, -2, -2, 1, 1, 1, 0, 0, -1, -1, -2,
+ 2, 1, 1, 1, 0, -1, -1, -2, 2, 2, 1, 1, 0, 0, -1, -2,
+ 2, 2, 1, 1, 1, 0, -1, -1, 2, 2, 1, 1, 1, 0, 0, -2,
+ 0, -1, -1, 0, 0, 1, 2, 3, 0, -1, -1, 0, 1, 1, 2, 2,
+ -1, -1, -1, -1, 0, 1, 2, 2, -1, -1, -2, -1, 0, 1, 1, 2,
+ -1, -2, -2, -1, 0, 0, 1, 2, -1, -2, -2, -2, -1, 0, 1, 2,
+ -1, -1, -2, -1, 0, 0, 1, 2, -1, -1, -1, -1, 0, 1, 1, 2,
+ 3, 2, 2, 2, 1, 1, 0, 0, 3, 2, 2, 2, 2, 1, 0, 0,
+ 2, 2, 2, 1, 1, 1, 0, 0, 2, 2, 1, 1, 1, 0, 0, -1,
+ 1, 1, 1, 0, 0, 0, -1, -1, 0, 0, -1, -1, -1, -1, -1, -1,
+ -2, -2, -2, -2, -2, -2, -2, -2, -2, -3, -3, -3, -2, -2, -2, -2,
+ 5, 2, 0, 0, -1, 0, 0, 0, 4, 2, 0, -1, -1, -1, 0, -1,
+ 4, 1, -1, -1, -2, -1, -1, -1, 4, 1, -1, -1, -2, -1, -1, -1,
+ 4, 1, -1, -2, -2, -1, -1, -1, 4, 1, -1, -2, -2, -1, -1, -1,
+ 4, 1, -1, -1, -1, -1, -1, -1, 4, 2, 0, -1, 0, 0, 0, -1,
+ -2, -1, 0, 1, 1, 1, 1, 1, -3, -1, 0, 1, 1, 1, 1, 1,
+ -3, -1, 0, 1, 1, 1, 1, 1, -3, -1, 0, 1, 1, 1, 1, 1,
+ -3, -2, 0, 1, 2, 2, 1, 1, -4, -2, 0, 1, 2, 2, 2, 2,
+ -5, -3, -1, 1, 1, 2, 1, 2, -5, -3, -2, 0, 1, 1, 1, 1,
+ 3, 3, 1, 0, -2, -4, -4, -5, 3, 3, 2, 0, -1, -2, -3, -4,
+ 2, 2, 1, 1, 0, -1, -2, -2, 1, 1, 1, 1, 1, 0, 0, 0,
+ 0, 0, 0, 1, 1, 1, 1, 1, -2, -1, -1, 0, 0, 1, 2, 2,
+ -3, -2, -2, -1, 0, 1, 2, 3, -3, -3, -2, -1, 0, 1, 2, 3,
+ -3, -3, -3, -3, -3, -2, -2, -2, -3, -3, -2, -2, -2, -1, -1, -1,
+ -2, -2, -2, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 2, 2, 2, 2,
+ 1, 1, 1, 2, 2, 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, 3,
+ -8, -7, -5, -3, -2, -1, 0, -1, -4, -3, -1, 0, 1, 2, 1, 1,
+ -1, 1, 2, 3, 3, 2, 2, 1, 1, 2, 3, 3, 2, 2, 1, 0,
+ 2, 3, 3, 2, 1, 0, 0, -1, 1, 2, 1, 0, -1, -1, -1, -1,
+ 1, 1, 0, -1, -1, -2, -2, -1, 1, 1, 0, 0, -1, -1, 0, -1,
+ -4, -3, -2, 0, 1, 2, 3, 3, -4, -3, -2, 0, 1, 2, 2, 2,
+ -3, -3, -2, -1, 0, 1, 1, 1, -2, -2, -2, -1, -1, 0, 0, 0,
+ 0, -1, -1, -1, -1, -1, -1, -1, 2, 1, 1, 0, 0, -1, -1, -2,
+ 3, 3, 3, 1, 0, -1, -2, -2, 5, 4, 4, 2, 1, 0, -1, -2,
+ 0, 0, 0, 0, 1, 2, 3, 3, 0, -1, 0, 0, 1, 2, 3, 3,
+ 0, -1, 0, 0, 1, 2, 3, 2, 0, 0, 0, 1, 1, 2, 2, 2,
+ 2, 1, 1, 1, 1, 1, 1, 0, 2, 2, 2, 1, 0, 0, -1, -2,
+ 2, 1, 0, 0, -2, -3, -5, -6, 0, -1, -1, -3, -5, -6, -8, -9,
+ -2, 0, 1, 2, 2, 1, -1, -4, -2, 0, 2, 2, 2, 1, -1, -4,
+ -2, 0, 2, 2, 2, 1, -1, -3, -2, 0, 2, 2, 2, 1, -1, -3,
+ -2, -1, 2, 2, 2, 1, -1, -3, -2, -1, 1, 2, 2, 1, -1, -3,
+ -3, -1, 1, 2, 2, 1, -1, -3, -2, -1, 1, 2, 2, 1, -1, -3,
+ -1, 1, 1, -1, -3, -3, 0, 4, -1, 1, 1, -1, -3, -3, 0, 4,
+ -1, 1, 1, 0, -3, -3, 0, 4, -1, 1, 2, 0, -3, -3, 0, 5,
+ 0, 1, 2, 0, -3, -4, 0, 4, 0, 1, 2, 0, -3, -4, 0, 5,
+ 0, 1, 2, 0, -3, -3, 0, 4, 0, 1, 2, -1, -2, -2, 0, 4,
+ 6, 6, 5, 6, 5, 5, 5, 5, 2, 2, 2, 2, 2, 2, 2, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -2, -2, -2, -2,
+ -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
+ -1, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 2, 2, 2, 2, 2, 2, 2, 2, 0, 1, 1, 0, 0, 0, 0, 0,
+ -1, -2, -2, -2, -2, -2, -2, -1, -3, -3, -3, -3, -3, -3, -3, -2,
+ -3, -4, -4, -3, -3, -3, -2, -2, -2, -2, -2, -2, -1, -1, 0, 0,
+ 0, 1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 5, 5, 6, 6, 6,
+ 4, 1, -2, -3, -3, -1, 1, 3, 4, 1, -2, -4, -3, -1, 1, 3,
+ 5, 1, -2, -4, -3, -1, 1, 4, 5, 1, -2, -3, -3, -1, 2, 4,
+ 5, 1, -2, -3, -3, -1, 2, 4, 4, 0, -3, -4, -3, -1, 2, 4,
+ 4, 0, -3, -3, -3, -1, 1, 3, 3, 0, -2, -3, -2, -1, 1, 3,
+ -3, -4, -4, -4, -4, -4, -4, -4, -1, -1, -1, -1, -1, -1, -2, -2,
+ 2, 1, 1, 2, 2, 1, 1, 1, 3, 3, 3, 4, 4, 3, 3, 3,
+ 3, 3, 3, 4, 4, 4, 3, 3, 1, 2, 1, 2, 2, 2, 2, 2,
+ -2, -2, -2, -1, -1, -1, 0, 0, -4, -4, -4, -4, -3, -3, -3, -3,
+ -1, -2, -3, -3, -2, -2, -1, 0, 0, -1, -2, -2, -2, -1, 0, 1,
+ 2, 1, -1, -1, -1, -1, 0, 1, 3, 1, 0, -1, -1, 0, 0, 1,
+ 3, 2, 0, -1, 0, 0, 0, 1, 3, 1, 0, -1, 0, 0, 0, 1,
+ 3, 1, 0, -1, 0, 0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 1,
+ 0, 0, 0, 1, 1, 2, 3, 4, 0, 0, -1, 0, 0, 0, 2, 3,
+ 0, -1, -1, -1, -1, -1, 0, 1, 0, -1, -1, -1, -1, -1, -1, 0,
+ 0, 0, -1, -1, -1, -2, -2, -1, 1, 0, 0, -1, -1, -2, -2, -1,
+ 2, 2, 1, 0, -1, -1, -1, -1, 3, 3, 2, 1, 0, -1, -1, 0,
+ 1, 0, 1, 0, 0, -1, -2, -1, 0, 0, 0, 0, -1, -1, -2, -1,
+ 0, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0,
+ -1, -1, -1, 0, 0, 0, 1, 1, -1, -1, -1, 0, 1, 1, 2, 3,
+ -2, -2, -1, 0, 1, 2, 3, 4, -2, -2, -1, 0, 1, 2, 4, 5,
+ -3, -1, 1, 0, 0, -1, 0, 1, -3, 0, 1, 0, -1, -1, 0, 2,
+ -3, 0, 1, 0, -1, -1, 0, 2, -2, 1, 2, 0, -1, -1, 0, 2,
+ -2, 1, 2, 0, -1, -1, 0, 2, -2, 1, 2, 0, -1, -1, 0, 2,
+ -1, 2, 2, 0, -1, -1, 0, 2, -1, 1, 1, 0, -1, -1, -1, 1,
+ -2, -2, -1, 1, 3, 4, 3, 1, -2, -2, -1, 0, 2, 3, 2, 0,
+ -2, -2, -1, 0, 1, 2, 1, -1, -1, -1, -1, 0, 1, 2, 1, -1,
+ -1, -1, -1, 0, 1, 1, 0, -2, 0, -1, -1, 0, 1, 1, 0, -1,
+ 0, -1, -1, 0, 1, 1, 1, -1, 0, -1, -1, 0, 0, 1, 0, -1,
+ -2, -1, 0, 1, 1, 1, 1, 1, -2, -1, 0, 0, 0, 0, 0, 0,
+ -2, -1, -1, 0, -1, -1, -2, -2, -2, -1, -1, -1, -1, -2, -2, -3,
+ -1, 0, 1, 1, 0, -1, -2, -2, 1, 2, 3, 3, 2, 1, 0, 0,
+ 1, 2, 3, 3, 3, 2, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0,
+ 0, -1, -1, -1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, -1, 0, 0, 1, 1, 0, 0, 0,
+ -3, -2, -1, -1, -1, -1, 0, -1, -5, -5, -4, -3, -2, -2, -2, -1,
+ 1, 1, 1, 1, 2, 1, 0, -1, 1, 1, 1, 2, 1, 1, 0, -1,
+ 1, 1, 1, 1, 1, 1, 0, -2, 2, 1, 1, 1, 1, 1, 0, -2,
+ 1, 1, 0, 0, 0, 0, -1, -3, 1, 1, 0, 0, 0, -1, -2, -3,
+ 1, 1, 0, 0, -1, -1, -2, -4, 1, 0, 0, -1, -2, -2, -3, -4,
+ 8, 7, 5, 3, 2, 1, 1, 1, 2, 1, 0, 0, -1, -1, -2, -1,
+ -1, -1, -1, -2, -2, -2, -2, -1, -1, -1, -1, -1, 0, -1, -1, 0,
+ 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0,
+ -1, 0, 0, 0, 0, 0, -1, -1, -2, -2, -1, -1, -1, -2, -2, -1,
+ 9, 4, 0, -2, -2, -2, -1, -1, 7, 2, -1, -2, -2, -1, 0, 0,
+ 4, 0, -2, -2, -1, 0, 1, 1, 1, -2, -2, -2, -1, 0, 1, 1,
+ -1, -2, -2, -1, 0, 1, 1, 1, -1, -2, -1, 0, 1, 1, 1, 0,
+ -1, -1, 0, 1, 1, 1, 0, -1, 0, -1, 0, 1, 0, 0, -1, -1,
+ 0, 1, 1, 1, 1, 1, 0, 0, 1, 2, 2, 2, 1, 0, 0, 0,
+ 2, 2, 2, 2, 1, 0, -1, -1, 1, 1, 1, 0, -1, -2, -2, -2,
+ 0, 0, 0, -1, -2, -3, -2, -2, -1, -1, -1, -2, -2, -2, -1, 0,
+ -1, -1, -1, -1, 0, 0, 1, 2, -1, -1, -1, 0, 1, 2, 3, 4,
+ -1, -1, 0, 0, -1, -2, -3, -3, -1, -1, 0, 0, 0, -1, -1, -1,
+ -2, -2, -1, 0, 1, 1, 1, 1, -2, -2, -2, 0, 1, 2, 3, 3,
+ -1, -1, -1, 0, 1, 3, 3, 3, 1, 0, 0, 0, 1, 1, 2, 2,
+ 2, 2, 1, 0, 0, -1, -1, -1, 3, 2, 1, 0, -1, -2, -3, -3,
+ -1, -1, -1, -2, -2, -3, -4, -5, 0, 0, 0, -1, -1, -3, -3, -4,
+ 1, 1, 1, 0, 0, -1, -2, -3, 2, 2, 2, 1, 1, 0, -1, -1,
+ 2, 2, 2, 2, 1, 1, 0, -1, 2, 2, 2, 2, 2, 1, 0, 0,
+ 1, 1, 2, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, -1,
+ -2, 2, 3, 1, -1, 1, 1, -1, -3, 2, 3, 0, -1, 1, 1, -1,
+ -3, 2, 3, 0, -1, 1, 1, -1, -4, 2, 3, 0, -1, 1, 1, -2,
+ -4, 1, 3, 0, -1, 1, 1, -2, -4, 1, 3, -1, -2, 1, 1, -2,
+ -3, 1, 2, 0, -1, 1, 1, -2, -3, 1, 2, 0, -1, 1, 1, -1,
+ -1, -1, -1, -2, -2, -2, -2, -2, 1, 1, 1, 1, 0, 0, 0, 0,
+ 1, 2, 2, 2, 2, 2, 2, 2, 0, 0, 1, 1, 1, 2, 2, 2,
+ -2, -2, -1, -1, -1, 0, 0, 0, -3, -3, -3, -3, -3, -3, -3, -2,
+ -1, -1, -1, -1, -2, -2, -2, -2, 4, 4, 4, 4, 4, 3, 3, 2,
+ -3, -3, -2, -1, 0, 1, 2, 5, -3, -3, -3, -2, -1, 1, 3, 6,
+ -3, -3, -2, -2, 0, 2, 3, 5, -3, -2, -2, -2, 0, 1, 3, 5,
+ -2, -2, -2, -1, -1, 1, 3, 5, -2, -2, -1, -1, 0, 1, 2, 4,
+ -1, -1, -1, -1, 0, 1, 1, 4, -1, -1, -1, -1, 0, 1, 2, 3,
+ 0, -1, 0, 1, 1, 0, -1, -1, 0, 0, 0, 1, 2, 0, -1, -1,
+ 1, 0, -1, 0, 1, 0, 0, 0, 1, -1, -2, -1, 0, 0, 0, 0,
+ 1, -2, -3, -1, 0, 0, 0, 1, 1, -1, -3, -2, 0, 1, 1, 2,
+ 1, -1, -2, -1, 0, 1, 1, 2, 2, 0, -1, 0, 1, 1, 2, 2,
+ 1, 1, 1, 1, 0, 0, 1, 2, -1, 0, 0, -1, 0, 0, 0, 1,
+ -3, -2, -1, -1, -1, 0, 1, 1, -4, -2, -1, 0, 0, 1, 1, 1,
+ -3, -2, 0, 0, 1, 1, 1, 1, -3, -1, 0, 1, 1, 1, 0, 0,
+ -1, 0, 1, 1, 1, 0, 0, -1, 0, 1, 2, 2, 1, 0, 0, -1,
+ -4, -4, -4, -3, -2, -1, -1, -1, -2, -2, -2, -1, 0, 0, 0, 0,
+ -1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1,
+ 0, 0, 1, 1, 2, 2, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0,
+ 0, 0, 0, 1, 1, 1, 1, 0, -1, 0, 0, 1, 1, 1, 0, 0,
+ 1, 2, 2, 2, 1, -1, -2, -4, 1, 1, 2, 2, 1, 0, -2, -4,
+ 0, 1, 1, 1, 1, 0, -1, -3, -1, 0, 1, 1, 0, 0, -1, -2,
+ -1, 0, 1, 1, 1, 0, 0, -1, -2, -1, 0, 0, 0, 0, 0, -1,
+ -1, -1, 0, 1, 1, 0, 0, 0, -1, 0, 1, 1, 1, 1, 1, 0,
+ 2, 2, 0, -1, -2, -1, -1, -2, 1, 1, -1, -2, -2, -1, -1, -2,
+ 1, 1, -1, -2, -2, 0, 0, -1, 1, 1, 0, -2, -1, 1, 1, 0,
+ 1, 1, 0, -1, -1, 1, 2, 1, 1, 1, 0, -1, -1, 1, 2, 1,
+ 1, 1, 0, -1, -1, 1, 1, 1, 1, 1, 0, -1, 0, 1, 1, 1,
+ 0, 0, -1, -2, -4, -4, -4, -4, 3, 3, 3, 2, 1, 0, 0, 0,
+ 3, 3, 3, 3, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 1,
+ -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, 0, -1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0,
+ -1, -1, 0, -1, -1, 1, 2, -1, 1, 1, 0, 0, 0, 2, 3, -1,
+ 1, 1, 0, -1, -1, 1, 3, -1, 1, 1, 0, -2, -2, 0, 1, -2,
+ 1, 0, 0, -2, -2, 0, 1, -3, 0, 0, 0, 0, -1, 1, 1, -3,
+ 0, 1, 1, 0, 1, 2, 1, -3, -1, 0, 1, 1, 1, 2, 1, -4,
+ -4, -3, 0, 1, 1, 1, 0, 0, -4, -2, 0, 1, 1, 1, 0, -1,
+ -3, -1, 1, 1, 1, 0, -1, -1, -1, 1, 1, 1, 1, 0, -1, 0,
+ 1, 2, 2, 1, 0, -1, 0, 0, 2, 2, 1, 0, -1, -1, 0, 1,
+ 2, 1, 0, -1, -2, -1, 0, 1, 2, 2, 0, -1, -2, -1, 1, 1,
+ 1, 1, 0, 0, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, -1, -1, -1, -1, -1,
+ 1, 0, 0, -1, -1, -1, -1, -1, 2, 1, 0, 0, -1, -1, -1, -1,
+ 5, 3, 2, 1, 0, 0, 0, 0, 6, 5, 3, 2, 1, 0, 0, 0,
+ 4, 4, 3, 1, 0, 0, 0, 1, 3, 3, 2, 1, 0, 0, 0, 1,
+ 2, 2, 1, 0, -1, -1, 0, 1, 0, 0, 0, -1, -1, -1, 0, 1,
+ 0, 0, -1, -1, -2, -1, 0, 2, 0, -1, -1, -2, -2, -2, 0, 1,
+ 0, -1, -1, -2, -2, -2, -1, 0, 0, 0, -1, -2, -2, -2, -1, 0,
+ 0, 0, -1, -1, -1, 0, 2, 3, 0, -1, -2, -2, -1, -1, 1, 2,
+ 1, 0, -1, -1, -1, 0, 0, 0, 1, 1, 1, 0, 0, 0, -1, -1,
+ 1, 2, 1, 0, 0, -1, -1, -1, -1, 0, 0, 0, -1, -1, -1, -1,
+ -3, -2, -1, -1, 0, 1, 1, 2, -4, -3, -1, 1, 2, 3, 5, 5,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1,
+ 0, 0, 0, -1, 0, 0, 0, 1, -1, -1, -2, -2, -2, -1, -1, 0,
+ 0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3,
+ 1, 1, 1, 1, 2, 2, 1, 1, -4, -3, -4, -4, -4, -4, -3, -3,
+ -1, 0, 1, 2, 2, 3, 3, 3, -1, -1, -1, -1, 0, 0, 0, 0,
+ 0, 0, -1, -2, -2, -3, -3, -2, 3, 2, 1, 0, -1, -2, -2, -2,
+ 4, 3, 2, 1, 1, 0, 0, 0, 2, 2, 1, 1, 0, 1, 1, 1,
+ 0, -1, -1, -1, -1, 0, 0, 1, -2, -2, -2, -2, -2, -1, 0, 0,
+ 1, -1, 0, 2, 1, -2, -1, 1, 1, -1, 0, 2, 1, -2, -2, 1,
+ 1, -1, 0, 3, 2, -2, -1, 1, 0, -2, 0, 3, 2, -2, -2, 1,
+ 0, -2, 0, 3, 2, -2, -2, 1, 0, -2, 0, 3, 1, -2, -1, 1,
+ 0, -2, 0, 2, 1, -2, -2, 1, 0, -1, 0, 2, 1, -2, -1, 1,
+ 0, 1, 2, 2, 3, 3, 2, 2, 0, 1, 1, 2, 3, 3, 2, 1,
+ 0, 0, 1, 2, 2, 2, 2, 1, -1, 0, 0, 1, 1, 1, 1, 1,
+ -1, -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1,
+ -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -1,
+ 0, 0, -1, -2, -1, 0, 3, 5, 0, 0, -1, -1, -1, 0, 2, 4,
+ 1, 1, 0, 0, -1, -1, 1, 2, 1, 2, 1, 1, 0, -1, -1, 0,
+ 0, 1, 2, 1, 0, -1, -2, -2, -1, 0, 1, 2, 1, 0, -3, -3,
+ -2, -1, 1, 2, 2, 0, -2, -4, -2, -1, 0, 2, 2, 1, -1, -3,
+ 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, -1, 0, 0, 0, 0, 0,
+ -1, -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0,
+ -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, -1, -1, 0,
+ 0, 0, 1, 1, 0, 0, 0, 1, 3, 3, 3, 4, 3, 3, 3, 3,
+ 5, 1, -2, -2, 0, 0, 0, -1, 4, -1, -3, -1, 0, 0, 0, -1,
+ 3, -1, -1, 0, 1, 1, 0, -1, 2, 0, 0, 1, 1, 1, 0, -2,
+ 1, 0, 0, 1, 1, 1, 0, -2, 0, -1, -1, -1, 0, 0, 0, -1,
+ 0, -1, -1, -1, -1, 0, 0, -1, 2, 1, 0, 0, 0, 1, 0, 0,
+ 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0,
+ 1, -1, -1, 0, 0, 0, 0, 0, 2, 0, -1, -1, -1, -1, -1, 0,
+ 3, 1, -1, -1, -2, -2, -2, -1, 4, 2, 1, 0, -1, -2, -2, -1,
+ 2, 1, 0, 0, -1, -1, 0, 0, 0, -1, -1, -1, -1, 0, 1, 1,
+ 0, 1, 2, 2, 2, 1, -1, -3, 0, 0, 1, 1, 1, 0, -1, -2,
+ 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, -1, 0, 0, 1, 1, 0,
+ 0, 0, -1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0,
+ 0, 0, 1, 1, 2, 1, -1, -3, 0, 0, 0, 1, 1, -1, -4, -5,
+ -2, -2, -2, -1, 0, 2, 2, 2, 0, 0, 0, 0, 1, 1, 1, 0,
+ 1, 1, 1, 1, 1, 0, -2, -3, 0, 0, 1, 1, 0, -1, -3, -4,
+ -1, -1, 0, 1, 0, 0, -2, -3, -1, -1, 0, 1, 1, 1, 0, -1,
+ 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0,
+ 0, 1, 0, 0, 1, 1, 1, 2, 1, 2, 0, 0, 0, 0, -1, 1,
+ 0, 2, 0, -1, 1, 0, -1, 0, 0, 1, 0, 0, 2, 1, 0, 1,
+ 0, 1, -1, 0, 2, 2, 0, 1, -1, 0, -1, -1, 2, 1, 1, 2,
+ -2, -2, -3, -2, 0, 1, 1, 1, -2, -2, -3, -3, -1, -1, -1, 0,
+ -3, -1, 0, 1, 2, 1, 1, 0, -3, -1, 0, 1, 2, 1, 1, 1,
+ -2, 0, 0, 1, 1, 1, 1, 1, -1, 0, 0, 0, 0, 0, 0, 0,
+ -2, 0, 0, 0, 0, -1, -1, 0, -2, 0, 0, 0, 0, 0, -1, -1,
+ -3, 0, 1, 1, 1, 1, 0, 1, -5, -2, 0, 1, 2, 2, 1, 2,
+ -2, -1, -1, 0, 0, 1, 2, 3, 0, 0, 1, 1, 0, 0, 1, 2,
+ 0, 0, 1, 0, -1, -1, 0, 1, -1, -1, -1, -1, -2, -2, -1, 0,
+ -2, -2, -2, -2, -2, -1, 0, 1, 0, 0, 0, -1, 0, 1, 2, 2,
+ 2, 1, 0, 0, 0, 1, 2, 2, 2, 1, 0, -1, -1, -1, 0, 0,
+ 0, 1, 1, 1, 1, 1, -1, -4, -1, -1, 0, 1, 1, 1, 0, -3,
+ -2, -1, 0, 0, 1, 2, 2, -2, -1, 0, 0, 0, 0, 2, 3, -1,
+ -1, 0, 0, 0, 0, 1, 2, 0, 0, 0, -1, -2, -1, 1, 1, 0,
+ 0, 0, -1, -2, -2, 0, 2, 1, 0, 0, -1, -2, -1, 1, 2, 2,
+ 1, 0, 0, 0, -2, -3, -2, -3, 0, 0, 1, 0, -2, -2, -1, -1,
+ 0, -1, 1, 1, -1, -1, 0, 0, 0, -1, 1, 1, -1, -1, 0, 0,
+ 0, 1, 2, 1, -1, -1, 0, 1, 1, 2, 3, 2, 0, 0, 1, 2,
+ -1, 0, 2, 1, 0, 0, 2, 3, -2, -1, 0, 0, -1, 0, 1, 2,
+ 1, 1, 0, -1, -2, -2, -1, 1, 1, 1, 1, -1, -2, -2, 0, 2,
+ 1, 1, 1, -1, -1, -1, 0, 2, 0, 0, 0, 0, 0, 0, 1, 2,
+ -1, -1, -1, 0, 0, 0, 1, 2, -1, -2, -1, 1, 1, 1, 0, 0,
+ -1, -2, -1, 1, 2, 2, 0, -1, -1, -2, -1, 2, 2, 2, 0, -1,
+ -1, -1, -1, -2, -1, -1, 0, 1, 0, 0, -1, -1, -1, 0, 1, 2,
+ 1, 0, 0, 0, 0, 1, 1, 2, 1, 1, 0, 0, 1, 1, 1, 1,
+ 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, -1, -1, -1,
+ 1, 2, 1, 0, -1, -2, -2, -3, 2, 2, 1, 0, -2, -3, -4, -4,
+ -4, -2, 1, 1, 1, 1, 0, 0, -2, 0, 1, 0, 0, 0, 0, 0,
+ 0, 1, 1, -2, -2, -1, 0, 1, 2, 2, 1, -2, -2, -1, 1, 2,
+ 1, 2, 1, -2, -2, -1, 1, 2, -1, 1, 1, -1, -1, -1, 0, 1,
+ -2, 0, 1, 1, 0, -1, -1, 0, -2, 0, 2, 2, 1, -1, -1, 0,
+ 1, 1, 0, 0, 0, 1, 0, 0, -2, -3, -3, -2, -2, -1, 0, 0,
+ -3, -4, -3, -2, -1, 0, 0, 0, -1, -1, 0, 1, 2, 3, 2, 1,
+ 0, 1, 2, 3, 3, 3, 2, 1, 1, 1, 1, 2, 1, 0, 0, -1,
+ 0, 0, 0, 0, -1, -1, -1, -1, 0, -1, -1, 0, 0, 0, 0, 0,
+ 1, 1, 0, 0, -1, -1, 0, 2, 0, 0, 1, 0, -1, -1, 1, 1,
+ -2, -1, 0, 1, 1, 1, 1, 1, -3, -3, 0, 2, 2, 1, 1, 0,
+ -2, -2, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, -1, -1,
+ 3, 1, -1, -3, -2, -1, 0, 1, 4, 2, -1, -3, -3, -1, 1, 2,
+ 0, 0, 0, -1, -1, -1, -1, -1, 1, 2, 1, 0, 0, 0, -1, -1,
+ 2, 3, 3, 2, 1, 0, -1, -1, 3, 4, 4, 2, 1, 0, -1, -2,
+ 3, 3, 2, 1, 0, -1, -2, -2, 1, 1, 0, -1, -1, -2, -2, -3,
+ 0, 0, 0, -1, -1, -2, -2, -2, -1, -1, -1, -1, -1, -2, -2, -1,
+ 1, 2, 2, 2, 2, 1, 2, 2, 0, 1, 1, 1, 1, 0, 0, 0,
+ 0, 0, 0, 1, 1, 0, -1, -2, 0, 0, 0, 0, 1, 0, -1, -4,
+ 1, 0, 0, 0, 0, 0, -2, -5, 1, 0, 0, 0, 0, 0, -1, -4,
+ 1, 0, -1, 0, 0, 0, -1, -3, 0, -1, -1, 0, 1, 1, 1, -1,
+ -2, -1, 0, 0, -1, -1, -1, -2, -1, 0, 0, 0, -1, -1, -2, -2,
+ 0, 1, 1, 0, -1, -1, -1, -2, 0, 1, 1, 0, 0, 0, -1, -1,
+ 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 2, 2, 1,
+ 1, 1, 0, 0, 1, 2, 2, 1, 1, 1, 0, -1, 0, 1, 1, 0,
+ 4, 2, 1, 0, 0, 1, 1, 1, 4, 2, 1, 0, 0, 0, 0, 1,
+ 3, 1, 0, 0, -1, -1, -1, 0, 1, 0, 0, -1, -1, -2, -1, 0,
+ 0, 0, 0, 0, -1, -1, -1, 0, -1, -1, 0, 0, -1, -1, 0, 1,
+ -2, -1, 0, -1, -1, 0, 0, 1, -2, -2, -1, -2, -1, 0, 0, 1,
+ 0, 1, 1, 1, 2, 1, 0, -1, -1, -1, -1, 0, 0, -1, -2, -2,
+ -1, 0, -1, 0, 0, -1, -2, -1, 0, 0, 0, 0, 0, 0, 1, 2,
+ 0, 0, 0, 0, 0, 0, 2, 3, -1, 0, -1, -1, -1, -1, 0, 3,
+ -1, 0, 0, -1, -1, -2, 0, 3, 0, 0, 0, 0, -1, -1, 1, 4,
+ 2, 2, 0, 0, 0, 0, 0, 1, 1, 1, -1, -2, -1, -2, -1, 1,
+ -1, -1, -2, -2, -2, -3, -2, 0, -1, 0, -1, -1, -1, -2, -1, 1,
+ 1, 1, 0, 0, 1, 0, 0, 1, 2, 2, 0, 0, 1, 0, 0, 1,
+ 2, 2, 0, 0, 0, 0, -1, -1, 2, 2, 0, 0, 1, 0, -1, -1,
+ -1, 0, 1, 1, 0, -1, -1, -1, 1, 2, 3, 2, 1, 0, 0, 0,
+ 0, 1, 1, 1, 0, -1, 0, 0, -2, -2, -1, 0, 1, 0, 0, 0,
+ -2, -2, -1, 2, 2, 2, 1, 0, -2, -1, 0, 1, 1, 0, 0, -1,
+ -1, -1, 0, 0, -1, -2, -1, -2, 0, 1, 1, 1, 0, 0, 1, 1,
+ -3, -3, -3, -2, -1, -1, -2, -2, -1, -1, 0, 1, 2, 1, 0, 0,
+ 1, 1, 1, 2, 2, 1, 0, 0, 1, 1, 1, 1, 1, 0, -1, 1,
+ 1, 0, -1, -1, 0, 0, -1, 1, 0, -1, -1, -1, 0, -1, -1, 1,
+ 1, 0, -1, 0, 0, -1, 0, 2, 2, 0, -1, 0, 0, 0, 0, 2,
+ 1, 0, -2, -1, 0, 1, 1, 0, 2, 0, -1, -1, 0, 1, 1, 0,
+ 1, 0, -2, -1, 0, 1, 0, -1, 1, 0, -1, -1, 0, 1, 0, -1,
+ 0, 1, 1, 0, 1, 1, 0, 0, -2, 1, 2, 1, 0, 0, 0, 1,
+ -5, 0, 2, 1, 0, -1, 0, 1, -6, -1, 2, 1, 0, -1, 0, 0,
+ 5, 3, 0, -1, -2, -1, -1, -1, 1, 1, 0, -1, -1, 0, -1, -1,
+ -1, 0, 1, 1, 2, 2, 1, 0, -2, -1, 0, 1, 2, 1, 1, 1,
+ -2, -1, -1, -1, 0, -1, 0, 1, 0, 1, 0, 0, -1, -1, 0, 0,
+ 0, 1, 1, 1, 1, 0, 0, 0, -3, -2, 0, 1, 1, 0, 0, -1,
+ -1, 0, 1, 0, -1, 0, 2, 3, -1, 0, 0, -2, -4, -2, -1, 0,
+ 0, 1, 1, 0, -2, -1, 0, -1, 1, 2, 3, 1, 0, 1, 1, 0,
+ -1, 0, 1, 1, 1, 1, 1, 0, -2, -3, -2, 0, 0, 0, 1, 0,
+ -1, -2, -2, 0, 1, 0, 0, -1, 3, 1, 0, 0, 1, 0, -1, -1,
+ -2, -1, 0, 0, -1, -1, 0, 0, -1, 0, 0, 0, 0, 1, 1, 1,
+ -1, -1, -1, 0, 1, 1, 1, 1, 0, -2, -3, -1, 1, 0, 0, 0,
+ 1, -1, -3, -1, 1, 1, 0, -1, 3, 1, -1, 1, 2, 2, 0, -1,
+ 3, 1, 0, 1, 2, 1, 1, 0, 0, -2, -2, -1, -1, 0, 0, 0,
+ 1, 0, -1, -1, 1, 2, 1, 0, 0, -1, -2, -1, 1, 2, 2, 1,
+ -1, -1, -1, 0, 0, 1, 2, 0, -2, 0, 0, 0, 0, 0, 1, -1,
+ -1, 0, 1, 0, -1, -1, -1, -1, 0, 1, 1, 2, 0, -2, -1, 0,
+ 1, 2, 2, 2, 1, -1, -1, 0, 0, 1, 1, 1, 0, -2, -2, -1,
+ 0, 0, -1, -1, -1, -1, -2, -2, 0, 0, -1, 0, 1, 2, 2, 1,
+ 0, 0, -1, -1, 0, 1, 2, 2, 1, 1, -1, -2, -1, -1, -1, -1,
+ 2, 2, 1, 0, 0, -1, -2, -2, 1, 2, 2, 1, 0, 0, -2, -2,
+ 0, 0, 0, 0, 1, 1, 0, -1, 0, -1, -1, -1, 2, 3, 2, 1,
+ 0, -2, 1, 2, -1, 0, 0, 1, -1, -2, 2, 3, -1, 0, 0, 0,
+ 0, -2, 2, 3, -1, -1, 0, 0, 0, -1, 3, 2, -2, 0, 1, 0,
+ 0, -1, 3, 1, -2, 0, 1, 0, 0, -1, 2, 1, -1, 1, 0, -1,
+ 0, 0, 1, -1, -2, 0, 0, -1, 1, 0, 0, -2, -2, -1, -1, -1,
+ 1, 1, 1, 1, 1, -1, -1, -2, 0, 0, 0, 1, 1, 1, 1, 1,
+ 0, 0, 0, 1, 1, 1, 2, 3, 1, 0, 0, -1, 0, 0, 1, 2,
+ 0, -1, -1, -2, -1, 0, 1, 2, -2, -2, -2, -2, -1, 0, 1, 1,
+ -1, -1, -1, -1, 0, 0, 0, -1, 2, 2, 2, 0, -1, -1, -2, -4,
+ -1, -2, -1, -1, 0, 1, 2, 3, -1, -1, -1, -1, 0, 1, 2, 3,
+ 1, 0, -1, 0, -1, 0, 1, 2, 1, 0, 0, 0, -1, 0, 2, 2,
+ 1, 0, -1, -1, -2, 0, 1, 2, 0, -2, -2, -2, -3, -1, 0, 1,
+ 0, -2, -2, -2, -2, -1, 1, 1, 0, 0, 0, 0, 0, 1, 2, 2
};
-const uint32 *const s_svq1IntraCodebooks[6] = {
+static const int8 *const s_svq1IntraCodebooks[6] = {
s_svq1IntraCodebook4x2, s_svq1IntraCodebook4x4,
s_svq1IntraCodebook8x4, s_svq1IntraCodebook8x8,
0, 0
diff --git a/video/video_decoder.cpp b/video/video_decoder.cpp
index 559880acee..e79043629c 100644
--- a/video/video_decoder.cpp
+++ b/video/video_decoder.cpp
@@ -87,7 +87,7 @@ bool VideoDecoder::loadFile(const Common::String &filename) {
}
bool VideoDecoder::needsUpdate() const {
- return !endOfVideo() && getTimeToNextFrame() == 0;
+ return hasFramesLeft() && getTimeToNextFrame() == 0;
}
void VideoDecoder::pauseVideo(bool pause) {
@@ -249,18 +249,8 @@ uint32 VideoDecoder::getTimeToNextFrame() const {
}
bool VideoDecoder::endOfVideo() const {
- if (!isVideoLoaded())
- return true;
-
- if (_endTimeSet) {
- const VideoTrack *track = findNextVideoTrack();
-
- if (track && track->getNextFrameStartTime() >= (uint)_endTime.msecs())
- return true;
- }
-
for (TrackList::const_iterator it = _tracks.begin(); it != _tracks.end(); it++)
- if (!(*it)->endOfTrack())
+ if (!(*it)->endOfTrack() && ((*it)->getTrackType() != Track::kTrackTypeVideo || !_endTimeSet || ((VideoTrack *)*it)->getNextFrameStartTime() < (uint)_endTime.msecs()))
return false;
return true;
@@ -679,4 +669,15 @@ void VideoDecoder::startAudioLimit(const Audio::Timestamp &limit) {
((AudioTrack *)*it)->start(limit);
}
+bool VideoDecoder::hasFramesLeft() const {
+ // This is similar to endOfVideo(), except it doesn't take Audio into account (and returns true if not the end of the video)
+ // This is only used for needsUpdate() atm so that setEndTime() works properly
+ // And unlike endOfVideoTracks(), this takes into account _endTime
+ for (TrackList::const_iterator it = _tracks.begin(); it != _tracks.end(); it++)
+ if ((*it)->getTrackType() == Track::kTrackTypeVideo && !(*it)->endOfTrack() && (!_endTimeSet || ((VideoTrack *)*it)->getNextFrameStartTime() < (uint)_endTime.msecs()))
+ return true;
+
+ return false;
+}
+
} // End of namespace Video
diff --git a/video/video_decoder.h b/video/video_decoder.h
index 5abe1d917c..7ccf49a0af 100644
--- a/video/video_decoder.h
+++ b/video/video_decoder.h
@@ -777,6 +777,7 @@ private:
void stopAudio();
void startAudio();
void startAudioLimit(const Audio::Timestamp &limit);
+ bool hasFramesLeft() const;
int32 _startTime;
uint32 _pauseLevel;