diff --git a/components/codecs/src/opencv_decoder.cpp b/components/codecs/src/opencv_decoder.cpp index b7f1a600ff2887330f9266cf8198b048d1770e73..6e094a0e5b1fe35af04eb651b327cf3c79d5bc3e 100644 --- a/components/codecs/src/opencv_decoder.cpp +++ b/components/codecs/src/opencv_decoder.cpp @@ -37,7 +37,11 @@ bool OpenCVDecoder::decode(const ftl::codecs::Packet &pkt, cv::cuda::GpuMat &out if (tmp2_.type() == CV_8UC3) { cv::cvtColor(tmp2_, tmp_, cv::COLOR_RGB2BGRA); } else { - tmp_ = tmp2_; + if (pkt.flags & ftl::codecs::kFlagFlipRGB) { + cv::cvtColor(tmp2_, tmp_, cv::COLOR_RGBA2BGRA); + } else { + tmp_ = tmp2_; + } } // Apply colour correction to chunk