simplify encoderparams

adpcm
Dimitri Diakopoulos 11 years ago
parent ed8ca06aa4
commit e4784182c5

@ -98,7 +98,7 @@ int main()
} }
// Test wav file encoder // Test wav file encoder
encoder.WriteFile({2, 44100, 32, PCM_FLT, DITHER_NONE}, fileData, "encoded.wav"); encoder.WriteFile({2, PCM_FLT, DITHER_NONE}, fileData, "encoded.wav");
return 0; return 0;
} }

@ -40,8 +40,6 @@ namespace nqr
struct EncoderParams struct EncoderParams
{ {
int channelCount; int channelCount;
int sampleRate;
int bitDepth;
PCMFormat targetFormat; PCMFormat targetFormat;
DitherType dither; DitherType dither;
}; };

@ -53,14 +53,16 @@ WaveChunkHeader nqr::MakeWaveHeader(const EncoderParams param)
{ {
WaveChunkHeader header; WaveChunkHeader header;
int bitdepth = GetFormatBitsPerSample(param.targetFormat);
header.fmt_id = GenerateChunkCode('f', 'm', 't', ' '); header.fmt_id = GenerateChunkCode('f', 'm', 't', ' ');
header.chunk_size = 16; header.chunk_size = 16;
header.format = (param.targetFormat <= PCMFormat::PCM_32) ? WaveFormatCode::FORMAT_PCM : WaveFormatCode::FORMAT_IEEE; header.format = (param.targetFormat <= PCMFormat::PCM_32) ? WaveFormatCode::FORMAT_PCM : WaveFormatCode::FORMAT_IEEE;
header.channel_count = param.channelCount; header.channel_count = param.channelCount;
header.sample_rate = param.sampleRate; header.sample_rate = param.sampleRate;
header.data_rate = param.sampleRate * param.channelCount * (param.bitDepth / 8); header.data_rate = param.sampleRate * param.channelCount * (bitdepth / 8);
header.frame_size = param.channelCount * (param.bitDepth / 8); header.frame_size = param.channelCount * (bitdepth/ 8);
header.bit_depth = param.bitDepth; header.bit_depth = bitdepth;
return header; return header;
} }
Loading…
Cancel
Save