diff options
| author | Wei Mao <[email protected]> | 2017-03-17 20:14:57 -0700 |
|---|---|---|
| committer | Wei Mao <[email protected]> | 2017-03-17 20:14:57 -0700 |
| commit | 406cf3e4c6cd251bf69cdd8d7b6433f3477d3980 (patch) | |
| tree | 15ca9253d190ab5e16cde06526dc17b486f32a22 /AVStream/avscamera/sys/RGB24Synthesizer.cpp | |
| parent | 1a3e0d580380e58bf336a242d2affc8a1e2d1ddf (diff) | |
Use lower case
Diffstat (limited to 'AVStream/avscamera/sys/RGB24Synthesizer.cpp')
| -rw-r--r-- | AVStream/avscamera/sys/RGB24Synthesizer.cpp | 133 |
1 files changed, 0 insertions, 133 deletions
diff --git a/AVStream/avscamera/sys/RGB24Synthesizer.cpp b/AVStream/avscamera/sys/RGB24Synthesizer.cpp deleted file mode 100644 index 21c6e054..00000000 --- a/AVStream/avscamera/sys/RGB24Synthesizer.cpp +++ /dev/null @@ -1,133 +0,0 @@ -/************************************************************************** - - A/V Stream Camera Sample - - Copyright (c) 2014, Microsoft Corporation. - - File: - - RGB24Synthesizer.cpp - - Abstract: - - This file contains the implementation of CRGB24Synthesizer. - - CRGB24Synthesizer is derived from CRGBSynthesizer. It uses the RGB - color space and defines a Commit() function that reformats pixels into - the RGB24 format. RGB24 uses 8 bits per primary and 3 bytes per pixel - in a single plane. - - History: - - created 4/14/2014 - -**************************************************************************/ - -#include "Common.h" - -/************************************************************************** - - LOCKED CODE - -**************************************************************************/ - -#ifdef ALLOC_PRAGMA -#pragma code_seg() -#endif // ALLOC_PRAGMA - -// suppressed due to Esp:773 -#pragma warning (push) -#pragma warning( disable:26015 ) // Suppress OACR error. Seems nonsensical. TODO: Must revisit. -#pragma warning( disable:26019 ) -_Success_(return > 0) -ULONG -CRGB24Synthesizer:: -Commit( - _Out_writes_bytes_(Size) - PUCHAR Buffer, - _In_ ULONG Size, - _In_ ULONG Stride -) -/*++ - -Routine Description: - - Copy (and reformat, if necessary) pixels from the internal scratch - buffer. If the output format decimates chrominance, do it here. - -Arguments: - - Buffer - - The output buffer to fill. - - Size - - The size of the output buffer in bytes. - - Stride - - The length of a row in bytes. - -Return Value: - - Number of bytes copied into Buffer. - ---*/ -{ - // In case stride isn't initialized. - if( Stride==0 ) - { - Stride = m_OutputStride; - } - - // These are impossible conditions. - if( !( Buffer && - m_Buffer && - (Size&3)==0 && // the rows are dword aligned, so the size must be too. - Size>3 && // there must be room for at least 1 pixel - (Stride&3)==0 && // rows should be DWORD aligned - Stride>3 && // rows should contain at least 1 pixel - m_Height>0 && - m_Width>0 - ) ) - { - NT_ASSERT(FALSE); - return 0; - } - - ULONG limit = min( Size/Stride, m_Height ); - for( ULONG row=0; row<limit; row++ ) - { - PDWORD pSrc = (PDWORD) GetImageLocation( 0, m_FlipVertical ? (m_Height - row -1) : row ); - PUCHAR pDst = Buffer + (row * Stride); - ULONG col = min( m_Width, Stride/3 ); - - while( col ) - { - // This optimizes the copy fairly well on most machines. - if( col>=4 ) - { - DWORD P0 = pSrc[0]; - DWORD P1 = pSrc[1]; - DWORD P2 = pSrc[2]; - DWORD P3 = pSrc[3]; - ((PDWORD) pDst)[0] = ((P0 ) & 0x00FFFFFF) | (P1 << 24); - ((PDWORD) pDst)[1] = ((P1 >> 8) & 0x0000FFFF) | (P2 << 16); - ((PDWORD) pDst)[2] = ((P2 >> 16) & 0x000000FF) | (P3 << 8); - pDst += 4 * 3; - pSrc += 4; - col -= 4; - } - else - { - DWORD P0 = *pSrc++; - *pDst++ = (UCHAR) (P0); - *pDst++ = (UCHAR) (P0 >> 8); - *pDst++ = (UCHAR) (P0 >> 16); - col--; - } - } - } - - return limit * Stride; -} -// suppressed due to Esp:773 -#pragma warning (pop) |
