Browse Source

code cleanup: reduce duplication with new function CalculateSample()

master
Juho Hiltunen 2 years ago
parent
commit
c496da5bf6
1 changed files with 12 additions and 11 deletions
  1. 12
    11
      src/libespeak-ng/compiledata.c

+ 12
- 11
src/libespeak-ng/compiledata.c View File

#include "voice.h" // for LoadVoice, voice #include "voice.h" // for LoadVoice, voice
#include "wavegen.h" // for WavegenInit, WavegenSetVoice #include "wavegen.h" // for WavegenInit, WavegenSetVoice


static int CalculateSample(unsigned char c3, int c1);

#define N_ITEM_STRING 256 #define N_ITEM_STRING 256


typedef struct { typedef struct {
{ {
int displ; int displ;
unsigned char c1; unsigned char c1;
unsigned char c3;
int c2;
int sample; int sample;
int sample2; int sample2;
float x; float x;


if ((c = fgetc(f)) == EOF) if ((c = fgetc(f)) == EOF)
break; break;
c3 = (unsigned char)c;

c2 = c3 << 24;
c2 = c2 >> 16; // sign extend


sample = (c1 & 0xff) + c2;
sample = CalculateSample((unsigned char) c, c1);


if (sample > max) if (sample > max)
max = sample; max = sample;


while (!feof(f)) { while (!feof(f)) {
c1 = fgetc(f); c1 = fgetc(f);
c3 = fgetc(f);
c2 = c3 << 24;
c2 = c2 >> 16; // sign extend
unsigned char c3 = fgetc(f);


sample = (c1 & 0xff) + c2;
sample = CalculateSample(c3, c1);


if (feof(f)) break; if (feof(f)) break;


} }


#pragma GCC visibility pop #pragma GCC visibility pop

static int CalculateSample(unsigned char c3, int c1) {
int c2 = c3 << 24;
c2 = c2 >> 16; // sign extend

return (c1 & 0xff) + c2;
}

Loading…
Cancel
Save