24#ifndef MythXCode_audioconvert
25#define MythXCode_audioconvert
37 : m_in(in), m_out(out) {}
48 int Process(
void* out,
const void* in,
int bytes,
bool noclip =
false);
53 {
return m_in == rhs.
m_in && m_out == rhs.
m_out; }
55 {
return m_in != rhs.
m_in || m_out != rhs.
m_out; }
57 void DeinterleaveSamples(
int channels,
58 uint8_t*
output,
const uint8_t* input,
60 void InterleaveSamples(
int channels,
61 uint8_t*
output,
const uint8_t*
const* input,
63 void InterleaveSamples(
int channels,
64 uint8_t*
output,
const uint8_t* input,
68 static int toFloat(
AudioFormat format,
void* out,
const void* in,
int bytes);
69 static int fromFloat(
AudioFormat format,
void* out,
const void* in,
int bytes);
70 static void MonoToStereo(
void* dst,
const void* src,
int samples);
71 static void DeinterleaveSamples(
AudioFormat format,
int channels,
72 uint8_t*
output,
const uint8_t* input,
74 static void InterleaveSamples(
AudioFormat format,
int channels,
75 uint8_t*
output,
const uint8_t*
const* input,
77 static void InterleaveSamples(
AudioFormat format,
int channels,
78 uint8_t*
output,
const uint8_t* input,
bool operator!=(const AudioConvert &rhs) const
bool operator==(const AudioConvert &rhs) const
AudioConvert(AudioFormat in, AudioFormat out)
static const std::array< const uint64_t, 4 > samples