| 155 | } |
| 156 | |
| 157 | XnStatus XnJpegCodec::OnNodeConfigurationChanged() |
| 158 | { |
| 159 | XnStatus nRetVal = XN_STATUS_OK; |
| 160 | |
| 161 | m_bValid = FALSE; |
| 162 | |
| 163 | XnMapOutputMode outputMode; |
| 164 | nRetVal = m_image.GetMapOutputMode(outputMode); |
| 165 | XN_IS_STATUS_OK_LOG_ERROR("Get map output mode", nRetVal); |
| 166 | |
| 167 | m_nXRes = outputMode.nXRes; |
| 168 | m_nYRes = outputMode.nYRes; |
| 169 | |
| 170 | if (m_image.IsCapabilitySupported(XN_CAPABILITY_CROPPING)) |
| 171 | { |
| 172 | XnCropping cropping; |
| 173 | nRetVal = m_image.GetCroppingCap().GetCropping(cropping); |
| 174 | XN_IS_STATUS_OK_LOG_ERROR("Get cropping", nRetVal); |
| 175 | |
| 176 | if (cropping.bEnabled) |
| 177 | { |
| 178 | m_nXRes = cropping.nXSize; |
| 179 | m_nYRes = cropping.nYSize; |
| 180 | } |
| 181 | } |
| 182 | |
| 183 | XnPixelFormat pixelFormat = m_image.GetPixelFormat(); |
| 184 | |
| 185 | switch (pixelFormat) |
| 186 | { |
| 187 | case XN_PIXEL_FORMAT_RGB24: |
| 188 | m_bRGB = TRUE; |
| 189 | break; |
| 190 | case XN_PIXEL_FORMAT_GRAYSCALE_8_BIT: |
| 191 | m_bRGB = FALSE; |
| 192 | break; |
| 193 | case XN_PIXEL_FORMAT_YUV422: |
| 194 | case XN_PIXEL_FORMAT_GRAYSCALE_16_BIT: |
| 195 | default: |
| 196 | XN_LOG_ERROR_RETURN(XN_STATUS_ERROR, XN_MASK_OPEN_NI, "Jpeg currently supports only RGB24 and Grayscale8 pixel formats!"); |
| 197 | } |
| 198 | |
| 199 | m_nQuality = XN_STREAM_COMPRESSION_JPEG_DEFAULT_QUALITY; |
| 200 | |
| 201 | m_bValid = TRUE; |
| 202 | |
| 203 | return (XN_STATUS_OK); |
| 204 | } |
| 205 | |
| 206 | void XN_CALLBACK_TYPE XnJpegCodec::NodeConfigurationChangedCallback(ProductionNode& /*node*/, void* pCookie) |
| 207 | { |
no test coverage detected