HRESULT TaudioFilterChannelSwap::process(TfilterQueue::iterator it, TsampleFormat &fmt, void *samples, size_t numsamples, const TfilterSettingsAudio *cfg0) { const TchannelSwapSettings *cfg = (const TchannelSwapSettings*)cfg0; if (!cfg->equal(oldcfg) || oldfmt != fmt || old_nchannels != fmt.nchannels) { makeMap(fmt, cfg); } fmt.channelmask = newchannelmask; switch (fmt.sf) { case TsampleFormat::SF_PCM16: swapChannels((int16_t*)samples, numsamples); break; case TsampleFormat::SF_PCM24: swapChannels((int24_t*)samples, numsamples); break; case TsampleFormat::SF_PCM32: swapChannels((int32_t*)samples, numsamples); break; case TsampleFormat::SF_FLOAT32: swapChannels((float*)samples, numsamples); break; } return parent->deliverSamples(++it, fmt, samples, numsamples); }
void convertBGRToRGB(VglImage *src) { swapChannels(src, 0, 2); }
/** Function to convert image in RGB format to BGR format */ void convertRGBToBGR(VglImage *src) { swapChannels(src, 0, 2); }