⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cameraprops.h

📁 freescale i.mx31 BSP CE5.0全部源码
💻 H
📖 第 1 页 / 共 2 页
字号:
//-----------------------------------------------------------------------------
//
// 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 + -