MCPcopy Create free account
hub / github.com/ImpulseAdventure/JPEGsnoop / ChannelExtract

Method ChannelExtract

ImgDecode.cpp:4832–4872  ·  view source on GitHub ↗

Extract the specified channel INPUT: - nMode = Channel(s) to extract from - sSrc = Color representations (YCC & RGB) for pixel OUTPUT: - sDst = Resulting RGB output after filtering

Source from the content-addressed store, hash-verified

4830// - sDst = Resulting RGB output after filtering
4831//
4832void CimgDecode::ChannelExtract(unsigned nMode,PixelCc &sSrc,PixelCc &sDst)
4833{
4834 if (nMode == PREVIEW_RGB) {
4835 sDst.nFinalR = sSrc.nFinalR;
4836 sDst.nFinalG = sSrc.nFinalG;
4837 sDst.nFinalB = sSrc.nFinalB;
4838 } else if (nMode == PREVIEW_YCC) {
4839 sDst.nFinalR = sSrc.nFinalCr;
4840 sDst.nFinalG = sSrc.nFinalY;
4841 sDst.nFinalB = sSrc.nFinalCb;
4842 } else if (nMode == PREVIEW_R) {
4843 sDst.nFinalR = sSrc.nFinalR;
4844 sDst.nFinalG = sSrc.nFinalR;
4845 sDst.nFinalB = sSrc.nFinalR;
4846 } else if (nMode == PREVIEW_G) {
4847 sDst.nFinalR = sSrc.nFinalG;
4848 sDst.nFinalG = sSrc.nFinalG;
4849 sDst.nFinalB = sSrc.nFinalG;
4850 } else if (nMode == PREVIEW_B) {
4851 sDst.nFinalR = sSrc.nFinalB;
4852 sDst.nFinalG = sSrc.nFinalB;
4853 sDst.nFinalB = sSrc.nFinalB;
4854 } else if (nMode == PREVIEW_Y) {
4855 sDst.nFinalR = sSrc.nFinalY;
4856 sDst.nFinalG = sSrc.nFinalY;
4857 sDst.nFinalB = sSrc.nFinalY;
4858 } else if (nMode == PREVIEW_CB) {
4859 sDst.nFinalR = sSrc.nFinalCb;
4860 sDst.nFinalG = sSrc.nFinalCb;
4861 sDst.nFinalB = sSrc.nFinalCb;
4862 } else if (nMode == PREVIEW_CR) {
4863 sDst.nFinalR = sSrc.nFinalCr;
4864 sDst.nFinalG = sSrc.nFinalCr;
4865 sDst.nFinalB = sSrc.nFinalCr;
4866 } else {
4867 sDst.nFinalR = sSrc.nFinalR;
4868 sDst.nFinalG = sSrc.nFinalG;
4869 sDst.nFinalB = sSrc.nFinalB;
4870 }
4871
4872}
4873
4874// Fetch the detailed decode settings (VLC)
4875//

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected