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
| 4830 | // - sDst = Resulting RGB output after filtering |
| 4831 | // |
| 4832 | void 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 | // |
nothing calls this directly
no outgoing calls
no test coverage detected