diff options
| author | Nils Wallménius <nils@rockbox.org> | 2007-08-06 18:39:04 +0000 |
|---|---|---|
| committer | Nils Wallménius <nils@rockbox.org> | 2007-08-06 18:39:04 +0000 |
| commit | 97bafd66db8a77c34679289f2c8b8f2144a23057 (patch) | |
| tree | 4b5cd7fb2340b66432624450d175cea366e79837 | |
| parent | d96bc50623b9e8374c6de05298c68d751b44e086 (diff) | |
| download | rockbox-97bafd66db8a77c34679289f2c8b8f2144a23057.zip rockbox-97bafd66db8a77c34679289f2c8b8f2144a23057.tar.gz rockbox-97bafd66db8a77c34679289f2c8b8f2144a23057.tar.bz2 rockbox-97bafd66db8a77c34679289f2c8b8f2144a23057.tar.xz | |
We only need to have bit-swapped voice files for the SH based archos targets
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14220 a1c6a512-1295-4272-9138-f99709370657
| -rw-r--r-- | apps/talk.c | 19 | ||||
| -rw-r--r-- | tools/voicefont.c | 14 |
2 files changed, 12 insertions, 21 deletions
diff --git a/apps/talk.c b/apps/talk.c index e1bf6cb..f115879 100644 --- a/apps/talk.c +++ b/apps/talk.c @@ -220,25 +220,6 @@ static void load_voicefile(void) structec_convert(&p_voicefile->index[i], "ll", 1, true); #endif - /* Do a bitswap as necessary. */ -#if CONFIG_CODEC == SWCODEC - logf("Bitswapping voice file."); - cpu_boost(true); - buf = (unsigned char *)(&p_voicefile->index) + - (p_voicefile->id1_max + p_voicefile->id2_max) * sizeof(struct clip_entry); - length = file_size - (buf - (unsigned char *) p_voicefile); - - for (i = 0; i < length; i++) - { - temp = buf[i]; - temp = ((temp >> 4) & 0x0f) | ((temp & 0x0f) << 4); - temp = ((temp >> 2) & 0x33) | ((temp & 0x33) << 2); - buf[i] = ((temp >> 1) & 0x55) | ((temp & 0x55) << 1); - } - cpu_boost(false); - -#endif - #ifdef HAVE_MMC /* load the index table, now that we know its size from the header */ load_size = (p_voicefile->id1_max + p_voicefile->id2_max) diff --git a/tools/voicefont.c b/tools/voicefont.c index a5e72af..94f8252 100644 --- a/tools/voicefont.c +++ b/tools/voicefont.c @@ -85,6 +85,8 @@ int main (int argc, char** argv) char mp3filename2[1024]; char* mp3filename; FILE* pMp3File; + int target_id; + int do_bitswap_audio = 0; if (argc < 2) @@ -103,7 +105,14 @@ int main (int argc, char** argv) printf("Error opening language file %s\n", argv[1]); return -2; } - + + /* We bitswap the voice file only SH based archos players, target IDs + equal to or lower than 8. See the target_id line for each target in + configure */ + target_id = atoi(argv[2]); + if (target_id <= 8) + do_bitswap_audio = 1; + memset(voiceonly, 0, sizeof(voiceonly)); while (!feof(pFile)) { @@ -156,7 +165,8 @@ int main (int argc, char** argv) size[i] = fread(buffer, 1, sizeof(buffer), pMp3File); fclose(pMp3File); - BitswapAudio(buffer, buffer, size[i]); + if (do_bitswap_audio) + BitswapAudio(buffer, buffer, size[i]); fwrite(buffer, 1, size[i], pFile); printf("%d %s %d\n", i, names[i], size[i]); /* debug */ |