X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=core%2Fmixer%2Faudio%2Faudio_util.h;h=0cbebc3d1dbfc27158b33c3ce63eb9e00e9f427e;hb=34420e565fdeb9b862d59835c212f44ebdda8d5b;hp=4f45efa42d9a11fc38e7d5b72e1bdc0832e7c432;hpb=000645b1ecced3a77a4e2f4858c03e2fbb8bc95b;p=casparcg diff --git a/core/mixer/audio/audio_util.h b/core/mixer/audio/audio_util.h index 4f45efa42..0cbebc3d1 100644 --- a/core/mixer/audio/audio_util.h +++ b/core/mixer/audio/audio_util.h @@ -19,4 +19,16 @@ static std::vector audio_32_to_16(const boost::iterator_range return audio16; } +static std::vector audio_32_to_24(const boost::iterator_range& input) +{ + std::vector audio24(input.size()*3+16); + auto audio32_ptr = reinterpret_cast(input.begin()); + auto audio24_ptr = reinterpret_cast(audio24.data()); + auto size = input.size(); + for(int n = 0; n < size; ++n) + *reinterpret_cast(audio24_ptr + n*3) = *(audio32_ptr + n) >> 8; + audio24.resize(input.size()); + return audio24; +} + }} \ No newline at end of file