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

📄 adapterprops.h

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

// To support mode4, 640x480, RGB 5:6:5
CS_DATARANGE_VIDEO DCAM_StreamMode_3 = 
{
    // CSDATARANGE
    {   
        sizeof (CS_DATARANGE_VIDEO),
        0,                  // Flags
        614400,             // SampleSize
        0,                  // Reserved
        STATIC_CSDATAFORMAT_TYPE_VIDEO,
        0xe436eb7b, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70, 
        STATIC_CSDATAFORMAT_SPECIFIER_VIDEOINFO
    },

    TRUE,                   // BOOL, bFixedSizeSamples (all samples same size?)
    TRUE,                   // BOOL, bTemporalCompression (all I frames?)
    CS_VIDEOSTREAM_PREVIEW, // StreamDescriptionFlags  (CS_VIDEO_DESC_*)
    0,                      // MemoryAllocationFlags   (CS_VIDEO_ALLOC_*)

    // _CS_VIDEO_STREAM_CONFIG_CAPS  
    {
        STATIC_CSDATAFORMAT_SPECIFIER_VIDEOINFO, 
        CS_AnalogVideo_None, // AnalogVideoStandard
        DX,DY,     // InputSize, (the inherent size of the incoming signal
                   //             with every digitized pixel unique)
        DX,DY,     // MinCroppingSize, smallest rcSrc cropping rect allowed
        DX,DY,     // MaxCroppingSize, largest  rcSrc cropping rect allowed
        1,         // CropGranularityX, granularity of cropping size
        1,         // CropGranularityY
        1,         // CropAlignX, alignment of cropping rect 
        1,         // CropAlignY;
        160, 120,    // MinOutputSize, smallest bitmap stream can produce
        DX, DY,    // MaxOutputSize, largest  bitmap stream can produce
        DX,        // OutputGranularityX, granularity of output bitmap size
        DY,        // OutputGranularityY;
        0,         // StretchTapsX  (0 no stretch, 1 pix dup, 2 interp...)
        0,         // StretchTapsY
        0,         // ShrinkTapsX 
        0,         // ShrinkTapsY 
        333000,    // MinFrameInterval (10,000,000 / 30.00FPS), 100nS units
        1000000,   // MaxFrameInterval (10,000,000 / 10.00FPS), 100nS units
        3072000,  // MinBitsPerSecond ( 10.00 FPS);
        147456000  // MaxBitsPerSecond (30.00 FPS);
    }, 
        
    // CS_VIDEOINFOHEADER (default format)
    {
        0,0,0,0,                            // RECT  rcSource; 
        0,0,0,0,                            // RECT  rcTarget; 
        147456000,                          // 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; -biHeight indicate TopDown for RGB
            1,                                  // WORD  biPlanes;
            DBITCOUNT,                          // WORD  biBitCount;
            CS_BI_BITFIELDS,                    // DWORD biCompression;
            614400,                             // DWORD biSizeImage;
            0,                                  // LONG  biXPelsPerMeter;
            0,                                  // LONG  biYPelsPerMeter;
            0,                                  // DWORD biClrUsed;
            0                                   // DWORD biClrImportant;
        },
        {
            0xF800,                             // DWORD dwBitMasks[CS_iMASK_COLORS];
            0x07E0, 
            0x001F
        }    

    }
} ;


#endif // EXTERN_PROP_VALUES

// DEFINES for PROPSETID_VIDCAP_VIDEOPROCAMP

typedef enum {
    // VideoProcAmp

    // CameraControl
    ENUM_ZOOM,
    ENUM_TILT,
    ENUM_PAN,
    ENUM_ROLL,
    ENUM_IRIS,
    ENUM_EXPOSURE,
    ENUM_FOCUS,
} ENUM_DEV_PROP;

// ------------------------------------------------------------------------
static CSPROPERTY_STEPPING_LONG ZoomRangeAndStep [] = 
{
    {
        1,                  // SteppingDelta (range / steps)
        0,                  // Reserved
        1,               
        2                
    }
};

const static LONG ZoomDefault = 1 ;

static CSPROPERTY_MEMBERSLIST ZoomMembersList[] = 
{
    {
        {
            CSPROPERTY_MEMBER_RANGES,
            sizeof (CSPROPERTY_STEPPING_LONG),
            SIZEOF_ARRAY (ZoomRangeAndStep),
            0
        },
            (PVOID) ZoomRangeAndStep,
    },
    {
        {
            CSPROPERTY_MEMBER_VALUES,
            sizeof (ZoomDefault),
            1,
            CSPROPERTY_MEMBER_FLAG_DEFAULT
        },
        (PVOID) &ZoomDefault,
    }    
};

static CSPROPERTY_VALUES ZoomValues =
{
    {
        STATICGUIDOF (CSPROPTYPESETID_General),
        VT_I4,
        0
    },
    SIZEOF_ARRAY (ZoomMembersList),
    ZoomMembersList
};


// Tilt is used to control whether rotation is turned on or off
static CSPROPERTY_STEPPING_LONG TiltRangeAndStep [] = 
{
    {
        90,                  // SteppingDelta (range / steps)
        0,                  // Reserved
        0,               
        90                
    }
};

const static LONG TiltDefault = 0;

static CSPROPERTY_MEMBERSLIST TiltMembersList[] = 
{
    {
        {
            CSPROPERTY_MEMBER_RANGES,
            sizeof (CSPROPERTY_STEPPING_LONG),
            SIZEOF_ARRAY (TiltRangeAndStep),
            0
        },
            (PVOID) TiltRangeAndStep,
    },
    {
        {
            CSPROPERTY_MEMBER_VALUES,
            sizeof (TiltDefault),
            1,
            CSPROPERTY_MEMBER_FLAG_DEFAULT
        },
        (PVOID) &TiltDefault,
    }    
};

static CSPROPERTY_VALUES TiltValues =
{
    {
        STATICGUIDOF (CSPROPTYPESETID_General),
        VT_I4,
        0
    },
    SIZEOF_ARRAY (TiltMembersList),
    TiltMembersList
};

// ------------------------------------------------------------------------


DEFINE_CSPROPERTY_TABLE(CameraControlProperties)
{
    DEFINE_CSPROPERTY_ITEM
    (
        CSPROPERTY_CAMERACONTROL_ZOOM,
        TRUE,                                   // GetSupported or Handler
        sizeof(CSPROPERTY_CAMERACONTROL_S),     // MinProperty
        sizeof(CSPROPERTY_CAMERACONTROL_S),     // MinData
        TRUE,                                   // SetSupported or Handler
        &ZoomValues,                            // Values
        0,                                      // RelationsCount
        NULL,                                   // Relations
        NULL,                                   // SupportHandler
        sizeof(ULONG)                           // SerializedSize
    ),
    DEFINE_CSPROPERTY_ITEM
    (
        CSPROPERTY_CAMERACONTROL_TILT,
        TRUE,                                   // GetSupported or Handler
        sizeof(CSPROPERTY_CAMERACONTROL_S),     // MinProperty
        sizeof(CSPROPERTY_CAMERACONTROL_S),     // MinData
        TRUE,                                   // SetSupported or Handler
        &TiltValues,                            // Values
        0,                                      // RelationsCount
        NULL,                                   // Relations
        NULL,                                   // SupportHandler
        sizeof(ULONG)                           // SerializedSize
    ),
};


// ------------------------------------------------------------------------
// Array of all of the property sets supported by the adapter
// ------------------------------------------------------------------------

DEFINE_CSPROPERTY_SET_TABLE(AdapterPropertyTable)
{
    DEFINE_CSPROPERTY_SET
    ( 
        &PROPSETID_VIDCAP_CAMERACONTROL,
        SIZEOF_ARRAY(CameraControlProperties),
        CameraControlProperties,
        0, 
        NULL
    )
};

#define NUMBER_OF_ADAPTER_PROPERTY_SETS (SIZEOF_ARRAY (AdapterPropertyTable))

#ifdef EXTERN_PROP_VALUES
extern ULONG DefaultVideoControlCaps[] ;
#else
// ----------------------------------------------------------------------------
// Default Video Control Caps 
// ----------------------------------------------------------------------------
ULONG DefaultVideoControlCaps[] = {
    CS_VideoControlFlag_FlipHorizontal | CS_VideoControlFlag_FlipVertical   /*PREVIEW*/,
    CS_VideoControlFlag_ExternalTriggerEnable                               /*CAPTURE*/,
    CS_VideoControlFlag_ExternalTriggerEnable | CS_VideoControlFlag_Trigger /*STILL*/
        };

#endif // EXTERN_PROP_VALUES

const StandardSizeOfBasicValues = sizeof(CSPROPERTY_DESCRIPTION) + sizeof(CSPROPERTY_MEMBERSHEADER)*2 + sizeof(CSPROPERTY_STEPPING_LONG) + sizeof(ULONG) ;

#endif //__ADAPTERPROPS_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -