📄 cameraprops.h
字号:
//-----------------------------------------------------------------------------
//
// Copyright (C) 2003-2004, MOTOROLA, INC. All Rights Reserved
// THIS SOURCE CODE IS CONFIDENTIAL AND PROPRIETARY AND MAY NOT
// BE USED OR DISTRIBUTED WITHOUT THE WRITTEN PERMISSION OF
// MOTOROLA, INC.
//
//------------------------------------------------------------------------------
//
// Copyright (C) 2004, Freescale Semiconductor, Inc. All Rights Reserved
// THIS SOURCE CODE IS CONFIDENTIAL AND PROPRIETARY AND MAY NOT
// BE USED OR DISTRIBUTED WITHOUT THE WRITTEN PERMISSION OF
// Freescale Semiconductor, Inc.
//
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
//
// File: CameraProps.h
//
// Define video format and camera control capabilities
//
//------------------------------------------------------------------------------
#define EXTERN_PROP_VALUES
#include "Adapterprops.h"
//------------------------------------------------------------------------------
// External Functions
//------------------------------------------------------------------------------
// External Variables
//------------------------------------------------------------------------------
// Defines
//------------------------------------------------------------------------------
// Types
//------------------------------------------------------------------------------
// Global Variables
//------------------------------------------------------------------------------
// Local Variables
//------------------------------------------------------------------------------
// Local Functions
#define FOURCC_YUYV mmioFOURCC('Y', 'U', 'Y', 'V')
#ifdef DX
#undef DX
#endif
#define DX 640
#ifdef DY
#undef DY
#endif
#define DY 480
#ifdef DBITCOUNT
#undef DBITCOUNT
#endif
#define DBITCOUNT 16
#define DX_MAX 640
#define DY_MAX 480
#define DX_MIN 160
#define DY_MIN 120
// YUYV
CS_DATARANGE_VIDEO DCAM_StreamMode_0 =
{
// CSDATARANGE
{
sizeof (CS_DATARANGE_VIDEO), // Flags
0,
DX_MAX*DY_MAX*(DBITCOUNT/2), // SampleSize
0, // Reserved
STATIC_CSDATAFORMAT_TYPE_VIDEO,
FOURCC_YUYV, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71,
STATIC_CSDATAFORMAT_SPECIFIER_VIDEOINFO
},
TRUE, // BOOL, bFixedSizeSamples (all samples same size?)
TRUE, // BOOL, bTemporalCompression (all I frames?)
CS_VIDEOSTREAM_CAPTURE, // StreamDescriptionFlags (CS_VIDEO_DESC_*)
0, // MemoryAllocationFlags (CS_VIDEO_ALLOC_*)
// _CS_VIDEO_STREAM_CONFIG_CAPS
{
STATIC_CSDATAFORMAT_SPECIFIER_VIDEOINFO,
CS_AnalogVideo_None, // AnalogVideoStandard
DX_MAX,DY_MAX, // InputSize, (the inherent size of the incoming signal with every digitized pixel unique)
DX_MAX,DY_MAX, // MinCroppingSize, smallest rcSrc cropping rect allowed
DX_MAX,DY_MAX, // MaxCroppingSize, largest rcSrc cropping rect allowed
1, // CropGranularityX, granularity of cropping size
1, // CropGranularityY
1, // CropAlignX, alignment of cropping rect
1, // CropAlignY;
DX_MIN, DY_MIN, // MinOutputSize, smallest bitmap stream can produce
DX_MAX, DY_MAX, // MaxOutputSize, largest bitmap stream can produce
DX_MAX, // OutputGranularityX, granularity of output bitmap size
DY_MAX, // OutputGranularityY;
0, // StretchTapsX (0 no stretch, 1 pix dup, 2 interp...)
0, // StretchTapsY
0, // ShrinkTapsX
0, // ShrinkTapsY
// Allow 1% difference
333000, // MinFrameInterval (10,000,000 / 30.00FPS), 100nS units
1000000, // MaxFrameInterval (10,000,000 / 10.00FPS), 100nS units
(DX_MIN*DY_MIN*DBITCOUNT)*10 , // (160 * 120 * DBITCOUNT) * DFPS_MIN, // MinBitsPerSecond (10.00 FPS);
(DX_MAX*DY_MAX*DBITCOUNT)*30, // (DX_MAX * DY_MAX * DBITCOUNT) * DFPS_MAX // MaxBitsPerSecond (30.0 FPS);
},
// CS_VIDEOINFOHEADER (default format)
{
0,0,0,0, // RECT rcSource;
0,0,0,0, // RECT rcTarget;
DX*DY*DBITCOUNT*30, // DWORD dwBitRate; 614400 * 30FPS * 8 bit/Byte
0L, // DWORD dwBitErrorRate;
333333, // REFERENCE_TIME AvgTimePerFrame (30 FPS);
sizeof (CS_BITMAPINFOHEADER), // DWORD biSize;
DX, // LONG biWidth;
DY, // LONG biHeight;
1, // WORD biPlanes;
DBITCOUNT, // WORD biBitCount;
FOURCC_YUYV, // DWORD biCompression;
DX*DY*(DBITCOUNT/2), // DWORD biSizeImage;
0, // LONG biXPelsPerMeter;
0, // LONG biYPelsPerMeter;
0, // DWORD biClrUsed;
0, // DWORD biClrImportant;
0,0,0 // DWORD dwBitMasks
}
};
#undef DX
#undef DY
#undef DBITCOUNT
#define DX 160
#define DY 120
#define DBITCOUNT 32
//Y444
CS_DATARANGE_VIDEO DCAM_StreamMode_1 =
{
// CSDATARANGE
{
sizeof (CS_DATARANGE_VIDEO), // Flags
0,
DX_MAX*DY_MAX*(DBITCOUNT/2), // SampleSize
0, // Reserved
STATIC_CSDATAFORMAT_TYPE_VIDEO,
FOURCC_Y444, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71,
STATIC_CSDATAFORMAT_SPECIFIER_VIDEOINFO
},
TRUE, // BOOL, bFixedSizeSamples (all samples same size?)
TRUE, // BOOL, bTemporalCompression (all I frames?)
CS_VIDEOSTREAM_CAPTURE, // StreamDescriptionFlags (CS_VIDEO_DESC_*)
0, // MemoryAllocationFlags (CS_VIDEO_ALLOC_*)
// _CS_VIDEO_STREAM_CONFIG_CAPS
{
STATIC_CSDATAFORMAT_SPECIFIER_VIDEOINFO,
CS_AnalogVideo_None, // AnalogVideoStandard
DX_MAX,DY_MAX, // InputSize, (the inherent size of the incoming signal with every digitized pixel unique)
DX_MAX,DY_MAX, // MinCroppingSize, smallest rcSrc cropping rect allowed
DX_MAX,DY_MAX, // MaxCroppingSize, largest rcSrc cropping rect allowed
1, // CropGranularityX, granularity of cropping size
1, // CropGranularityY
1, // CropAlignX, alignment of cropping rect
1, // CropAlignY;
DX_MIN, DY_MIN, // MinOutputSize, smallest bitmap stream can produce
DX_MAX, DY_MAX, // MaxOutputSize, largest bitmap stream can produce
DX_MAX, // OutputGranularityX, granularity of output bitmap size
DY_MAX, // OutputGranularityY;
0, // StretchTapsX (0 no stretch, 1 pix dup, 2 interp...)
0, // StretchTapsY
0, // ShrinkTapsX
0, // ShrinkTapsY
// Allow 1% difference
333000, // MinFrameInterval (10,000,000 / 30.00FPS), 100nS units
1000000, // MaxFrameInterval (10,000,000 / 10.00FPS), 100nS units
(DX_MIN*DY_MIN*DBITCOUNT)*10, // (160 * 120 * DBITCOUNT) * DFPS_MIN, // MinBitsPerSecond (10.00 FPS);
(DX_MAX*DY_MAX*DBITCOUNT)*30, // (640 * 480 * DBITCOUNT) * DFPS_MAX // MaxBitsPerSecond (30.0 FPS);
},
// CS_VIDEOINFOHEADER (default format)
{
0,0,0,0, // RECT rcSource;
0,0,0,0, // RECT rcTarget;
DX*DY*DBITCOUNT*30, // DWORD dwBitRate; 76800 * 30FPS * 8 bit/Byte
0L, // DWORD dwBitErrorRate;
333333, // REFERENCE_TIME AvgTimePerFrame (30 FPS);
sizeof (CS_BITMAPINFOHEADER), // DWORD biSize;
DX, // LONG biWidth;
DY, // LONG biHeight;
1, // WORD biPlanes;
DBITCOUNT, // WORD biBitCount;
FOURCC_Y444, // DWORD biCompression;
DX*DY*(DBITCOUNT/2), // DWORD biSizeImage;
0, // LONG biXPelsPerMeter;
0, // LONG biYPelsPerMeter;
0, // DWORD biClrUsed;
0, // DWORD biClrImportant;
0,0,0 // DWORD dwBitMasks
}
};
#undef DX
#undef DY
#undef DBITCOUNT
#define DX 640
#define DY 480
#define DBITCOUNT 16
//UYVY
CS_DATARANGE_VIDEO DCAM_StreamMode_2 =
{
// CSDATARANGE
{
sizeof (CS_DATARANGE_VIDEO), // Flags
0,
DX_MAX*DY_MAX*(DBITCOUNT/2), // SampleSize
0, // Reserved
STATIC_CSDATAFORMAT_TYPE_VIDEO,
FOURCC_UYVY, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71,
STATIC_CSDATAFORMAT_SPECIFIER_VIDEOINFO
},
TRUE, // BOOL, bFixedSizeSamples (all samples same size?)
TRUE, // BOOL, bTemporalCompression (all I frames?)
CS_VIDEOSTREAM_CAPTURE, // StreamDescriptionFlags (CS_VIDEO_DESC_*)
0, // MemoryAllocationFlags (CS_VIDEO_ALLOC_*)
// _CS_VIDEO_STREAM_CONFIG_CAPS
{
STATIC_CSDATAFORMAT_SPECIFIER_VIDEOINFO,
CS_AnalogVideo_None, // AnalogVideoStandard
DX_MAX,DY_MAX, // InputSize, (the inherent size of the incoming signal with every digitized pixel unique)
DX_MAX,DY_MAX, // MinCroppingSize, smallest rcSrc cropping rect allowed
DX_MAX,DY_MAX, // MaxCroppingSize, largest rcSrc cropping rect allowed
1, // CropGranularityX, granularity of cropping size
1, // CropGranularityY
1, // CropAlignX, alignment of cropping rect
1, // CropAlignY;
DX_MIN, DY_MIN, // MinOutputSize, smallest bitmap stream can produce
DX_MAX, DY_MAX, // MaxOutputSize, largest bitmap stream can produce
DX_MAX, // OutputGranularityX, granularity of output bitmap size
DY_MAX, // OutputGranularityY;
0, // StretchTapsX (0 no stretch, 1 pix dup, 2 interp...)
0, // StretchTapsY
0, // ShrinkTapsX
0, // ShrinkTapsY
// Allow 1% difference
333000, // MinFrameInterval (10,000,000 / 30.00FPS), 100nS units
1000000, // MaxFrameInterval (10,000,000 / 10.00FPS), 100nS units
(DX_MIN*DY_MIN*DBITCOUNT)*10, // (160 * 120 * DBITCOUNT) * DFPS_MIN, // MinBitsPerSecond (10.00 FPS);
(DX_MAX*DY_MAX*DBITCOUNT)*30, // (DX * DY * DBITCOUNT) * DFPS_MAX // MaxBitsPerSecond (30.0 FPS);
},
// CS_VIDEOINFOHEADER (default format)
{
0,0,0,0, // RECT rcSource;
0,0,0,0, // RECT rcTarget;
DX*DY*DBITCOUNT*30, // DWORD dwBitRate; 614400 * 30FPS * 8 bit/Byte
0L, // DWORD dwBitErrorRate;
333333, // REFERENCE_TIME AvgTimePerFrame (30 FPS);
sizeof (CS_BITMAPINFOHEADER), // DWORD biSize;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -