diff options
| author | karlf <[email protected]> | 2016-08-11 13:28:13 -0700 |
|---|---|---|
| committer | karlf <[email protected]> | 2016-08-11 13:28:13 -0700 |
| commit | 96eb96dfb613e4c745db6bd1f53a92fe7e2290fc (patch) | |
| tree | ad5f3ede5cbcd6b598677ce41bcf8318471bdd92 /AVStream/avscamera/sys/formats.cpp | |
| parent | 687b274aa38fd05c8c26e3068932121876d7f745 (diff) | |
Updated for "Windows 10 Anniversary Update" (Version 1607)
Diffstat (limited to 'AVStream/avscamera/sys/formats.cpp')
| -rw-r--r-- | AVStream/avscamera/sys/formats.cpp | 390 |
1 files changed, 390 insertions, 0 deletions
diff --git a/AVStream/avscamera/sys/formats.cpp b/AVStream/avscamera/sys/formats.cpp new file mode 100644 index 00000000..0c03d4ab --- /dev/null +++ b/AVStream/avscamera/sys/formats.cpp @@ -0,0 +1,390 @@ +/************************************************************************** + + A/V Stream Camera Sample + + Copyright (c) 2001, Microsoft Corporation. + + File: + + Formats.cpp + + Abstract: + + A list of available Image and Video formats. + + History: + + created 2/12/2016 + +**************************************************************************/ + +#include "Common.h" +#include "ntintsafe.h" + +#ifdef ALLOC_PRAGMA +#pragma code_seg("PAGE") +#endif // ALLOC_PRAGMA + + +/************************************************************************** + + DISPATCH AND DESCRIPTOR LAYOUT + +**************************************************************************/ + +DEFINE_DATARANGE_VIDEO( + FormatNV12_CaptureVGA, + STATICGUIDOF(KSDATAFORMAT_SUBTYPE_NV12), + DMAX_X, DMAX_Y, + 30, + 1, + 12, + FOURCC_NV12) + +DEFINE_DATARANGE_VIDEO( + FormatYUY2_CaptureQVGA, + STATICGUIDOF(KSDATAFORMAT_SUBTYPE_YUY2), + D_X, D_Y, + 30, + 1, + 16, + FOURCC_YUY2) + +DEFINE_DATARANGE_VIDEO( + FormatYUY2_CaptureQVGAOverscan, + STATICGUIDOF(KSDATAFORMAT_SUBTYPE_YUY2), + D_X_OS, D_Y_OS, + 30, + 1, + 16, + FOURCC_YUY2) + +DEFINE_DATARANGE_VIDEO( + FormatYUY2_CaptureVGA, + STATICGUIDOF(KSDATAFORMAT_SUBTYPE_YUY2), + DMAX_X, DMAX_Y, + 30, + 1, + 16, + FOURCC_YUY2) + +DEFINE_DATARANGE_VIDEO( + FormatYUY2_CaptureVGAOverscan, + STATICGUIDOF(KSDATAFORMAT_SUBTYPE_YUY2), + DMAX_X_OS, DMAX_Y_OS, + 30, + 1, + 16, + FOURCC_YUY2) + +DEFINE_DATARANGE_VIDEO( + FormatRGB24Bpp_CaptureQVGA, + STATICGUIDOF(KSDATAFORMAT_SUBTYPE_RGB24), + D_X, D_Y, + 30, + 1, + 24, + KS_BI_RGB) + +DEFINE_DATARANGE_VIDEO( + FormatRGB24Bpp_CaptureQVGAOverscan, + STATICGUIDOF(KSDATAFORMAT_SUBTYPE_RGB24), + D_X_OS, D_Y_OS, + 30, + 1, + 24, + KS_BI_RGB) + +DEFINE_DATARANGE_VIDEO( + FormatRGB24Bpp_CaptureVGA, + STATICGUIDOF(KSDATAFORMAT_SUBTYPE_RGB24), + DMAX_X, DMAX_Y, + 30, + 1, + 24, + KS_BI_RGB) + +DEFINE_DATARANGE_VIDEO( + FormatRGB24Bpp_CaptureVGAOverscan, + STATICGUIDOF(KSDATAFORMAT_SUBTYPE_RGB24), + DMAX_X_OS, DMAX_Y_OS, + 30, + 1, + 24, + KS_BI_RGB) + +DEFINE_DATARANGE_VIDEO( + FormatYUY2_CaptureVGA_60fps, + STATICGUIDOF(KSDATAFORMAT_SUBTYPE_YUY2), + DMAX_X, DMAX_Y, + 60, + 1, + 16, + FOURCC_YUY2) + +DEFINE_DATARANGE_VIDEO( + FormatYUY2_CaptureVGA_60fpsOverscan, + STATICGUIDOF(KSDATAFORMAT_SUBTYPE_YUY2), + DMAX_X_OS, DMAX_Y_OS, + 60, + 1, + 16, + FOURCC_YUY2) + +DEFINE_DATARANGE_VIDEO( + FormatRGB24Bpp_CaptureVGA_60fps, + STATICGUIDOF(KSDATAFORMAT_SUBTYPE_RGB24), + DMAX_X, DMAX_Y, + 60, + 1, + 24, + KS_BI_RGB) + +DEFINE_DATARANGE_VIDEO( + FormatRGB24Bpp_CaptureVGA_60fpsOverscan, + STATICGUIDOF(KSDATAFORMAT_SUBTYPE_RGB24), + DMAX_X_OS, DMAX_Y_OS, + 60, + 1, + 24, + KS_BI_RGB) + +DEFINE_DATARANGE_VIDEO( + FormatYUY2_CaptureVGA_90fps, + STATICGUIDOF(KSDATAFORMAT_SUBTYPE_YUY2), + DMAX_X, DMAX_Y, + 90, + 1, + 16, + FOURCC_YUY2) + +DEFINE_DATARANGE_VIDEO( + FormatYUY2_CaptureVGA_90fpsOverscan, + STATICGUIDOF(KSDATAFORMAT_SUBTYPE_YUY2), + DMAX_X_OS, DMAX_Y_OS, + 90, + 1, + 16, + FOURCC_YUY2) + +DEFINE_DATARANGE_VIDEO( + FormatRGB24Bpp_CaptureVGA_90fps, + STATICGUIDOF(KSDATAFORMAT_SUBTYPE_RGB24), + DMAX_X, DMAX_Y, + 90, + 1, + 24, + KS_BI_RGB) + +DEFINE_DATARANGE_VIDEO( + FormatRGB24Bpp_CaptureVGA_90fpsOverscan, + STATICGUIDOF(KSDATAFORMAT_SUBTYPE_RGB24), + DMAX_X_OS, DMAX_Y_OS, + 90, + 1, + 24, + KS_BI_RGB) + +DEFINE_DATARANGE_VIDEO( + FormatYUY2_CaptureVGA_120fps, + STATICGUIDOF(KSDATAFORMAT_SUBTYPE_YUY2), + DMAX_X, DMAX_Y, + 120, + 1, + 16, + FOURCC_YUY2) + +DEFINE_DATARANGE_VIDEO( + FormatYUY2_CaptureVGA_120fpsOverscan, + STATICGUIDOF(KSDATAFORMAT_SUBTYPE_YUY2), + DMAX_X_OS, DMAX_Y_OS, + 120, + 1, + 16, + FOURCC_YUY2) + +DEFINE_DATARANGE_VIDEO( + FormatRGB24Bpp_CaptureVGA_120fps, + STATICGUIDOF(KSDATAFORMAT_SUBTYPE_RGB24), + DMAX_X, DMAX_Y, + 120, + 1, + 24, + KS_BI_RGB) + +DEFINE_DATARANGE_VIDEO( + FormatRGB24Bpp_CaptureVGA_120fpsOverscan, + STATICGUIDOF(KSDATAFORMAT_SUBTYPE_RGB24), + DMAX_X_OS, DMAX_Y_OS, + 120, + 1, + 24, + KS_BI_RGB) + +DEFINE_DATARANGE_VIDEO( + FormatRGB32Bpp_CaptureVGA, + STATICGUIDOF(KSDATAFORMAT_SUBTYPE_RGB32), + DMAX_X, DMAX_Y, + 30, + 1, + 32, + KS_BI_RGB) + +DEFINE_DATARANGE_VIDEO( + FormatRGB32Bpp_CaptureVGAOverscan, + STATICGUIDOF(KSDATAFORMAT_SUBTYPE_RGB32), + DMAX_X_OS, DMAX_Y_OS, + 30, + 1, + 32, + KS_BI_RGB) + +DEFINE_DATARANGE_VIDEO( + FormatRGB32Bpp_CaptureVGA_60fps, + STATICGUIDOF(KSDATAFORMAT_SUBTYPE_RGB32), + DMAX_X, DMAX_Y, + 60, + 1, + 32, + KS_BI_RGB) + +DEFINE_DATARANGE_VIDEO( + FormatRGB32Bpp_CaptureVGA_60fpsOverscan, + STATICGUIDOF(KSDATAFORMAT_SUBTYPE_RGB32), + DMAX_X_OS, DMAX_Y_OS, + 60, + 1, + 32, + KS_BI_RGB) + +DEFINE_DATARANGE_VIDEO( + FormatRGB32Bpp_CaptureVGA_90fps, + STATICGUIDOF(KSDATAFORMAT_SUBTYPE_RGB32), + DMAX_X, DMAX_Y, + 90, + 1, + 32, + KS_BI_RGB) + +DEFINE_DATARANGE_VIDEO( + FormatRGB32Bpp_CaptureVGA_90fpsOverscan, + STATICGUIDOF(KSDATAFORMAT_SUBTYPE_RGB32), + DMAX_X_OS, DMAX_Y_OS, + 90, + 1, + 32, + KS_BI_RGB) + +DEFINE_DATARANGE_VIDEO( + FormatRGB32Bpp_CaptureVGA_120fps, + STATICGUIDOF(KSDATAFORMAT_SUBTYPE_RGB32), + DMAX_X, DMAX_Y, + 120, + 1, + 32, + KS_BI_RGB) + +DEFINE_DATARANGE_VIDEO( + FormatRGB32Bpp_CaptureVGA_120fpsOverscan, + STATICGUIDOF(KSDATAFORMAT_SUBTYPE_RGB32), + DMAX_X_OS, DMAX_Y_OS, + 120, + 1, + 32, + KS_BI_RGB) + +DEFINE_DATARANGE_VIDEO( + FormatRGB32Bpp_CaptureQVGA, + STATICGUIDOF(KSDATAFORMAT_SUBTYPE_RGB32), + D_X, D_Y, + 30, + 1, + 32, + KS_BI_RGB) + +DEFINE_DATARANGE_VIDEO( + FormatRGB32Bpp_CaptureQVGAOverscan, + STATICGUIDOF(KSDATAFORMAT_SUBTYPE_RGB32), + D_X_OS, D_Y_OS, + 30, + 1, + 32, + KS_BI_RGB) + + +// +// CapturePinDataRanges: +// +// This is the list of data ranges supported on the capture pin. We support +// two: one RGB24, and one YUY2. +// +const +PKSDATARANGE +ImageCapturePinDataRanges[ IMAGE_CAPTURE_PIN_DATA_RANGE_COUNT ] = +{ + (PKSDATARANGE) &FormatYUY2_CaptureVGA, + (PKSDATARANGE) &FormatNV12_CaptureVGA +}; + +// +// CapturePinDataRanges: +// +// This is the list of data ranges supported on the capture pin. We support +// RGB24, YUY2, and RGB32 +// +const +PKSDATARANGE +VideoCapturePinDataRanges [VIDEO_CAPTURE_PIN_DATA_RANGE_COUNT] = +{ + (PKSDATARANGE) &FormatYUY2_CaptureQVGA, + (PKSDATARANGE) &FormatYUY2_CaptureQVGAOverscan, + (PKSDATARANGE) &FormatYUY2_CaptureVGA, + (PKSDATARANGE) &FormatYUY2_CaptureVGAOverscan, + (PKSDATARANGE) &FormatRGB24Bpp_CaptureQVGA, + (PKSDATARANGE) &FormatRGB24Bpp_CaptureQVGAOverscan, + (PKSDATARANGE) &FormatRGB24Bpp_CaptureVGA, + (PKSDATARANGE) &FormatRGB24Bpp_CaptureVGAOverscan, + (PKSDATARANGE) &FormatYUY2_CaptureVGA_60fps, + (PKSDATARANGE) &FormatYUY2_CaptureVGA_60fpsOverscan, + (PKSDATARANGE) &FormatRGB24Bpp_CaptureVGA_60fps, + (PKSDATARANGE) &FormatRGB24Bpp_CaptureVGA_60fpsOverscan, + (PKSDATARANGE) &FormatYUY2_CaptureVGA_90fps, + (PKSDATARANGE) &FormatYUY2_CaptureVGA_90fpsOverscan, + (PKSDATARANGE) &FormatRGB24Bpp_CaptureVGA_90fps, + (PKSDATARANGE) &FormatRGB24Bpp_CaptureVGA_90fpsOverscan, + (PKSDATARANGE) &FormatYUY2_CaptureVGA_120fps, + (PKSDATARANGE) &FormatYUY2_CaptureVGA_120fpsOverscan, + (PKSDATARANGE) &FormatRGB24Bpp_CaptureVGA_120fps, + (PKSDATARANGE) &FormatRGB24Bpp_CaptureVGA_120fpsOverscan, + (PKSDATARANGE) &FormatRGB32Bpp_CaptureVGA, + (PKSDATARANGE) &FormatRGB32Bpp_CaptureVGAOverscan, + (PKSDATARANGE) &FormatRGB32Bpp_CaptureVGA_60fps, + (PKSDATARANGE) &FormatRGB32Bpp_CaptureVGA_60fpsOverscan, + (PKSDATARANGE) &FormatRGB32Bpp_CaptureVGA_90fps, + (PKSDATARANGE) &FormatRGB32Bpp_CaptureVGA_90fpsOverscan, + (PKSDATARANGE) &FormatRGB32Bpp_CaptureVGA_120fps, + (PKSDATARANGE) &FormatRGB32Bpp_CaptureVGA_120fpsOverscan, + (PKSDATARANGE) &FormatRGB32Bpp_CaptureQVGA, + (PKSDATARANGE) &FormatRGB32Bpp_CaptureQVGAOverscan, +}; + +const +PKSDATARANGE +VideoPreviewPinDataRanges[VIDEO_PREVIEW_PIN_DATA_RANGE_COUNT] = +{ + (PKSDATARANGE) &FormatYUY2_CaptureQVGA, + (PKSDATARANGE) &FormatYUY2_CaptureVGA, + (PKSDATARANGE) &FormatRGB24Bpp_CaptureQVGA, + (PKSDATARANGE) &FormatRGB24Bpp_CaptureVGA, + (PKSDATARANGE) &FormatYUY2_CaptureVGA_60fps, + (PKSDATARANGE) &FormatRGB24Bpp_CaptureVGA_60fps, + (PKSDATARANGE) &FormatYUY2_CaptureVGA_90fps, + (PKSDATARANGE) &FormatRGB24Bpp_CaptureVGA_90fps, + (PKSDATARANGE) &FormatYUY2_CaptureVGA_120fps, + (PKSDATARANGE) &FormatRGB24Bpp_CaptureVGA_120fps, + (PKSDATARANGE) &FormatRGB32Bpp_CaptureVGA, + (PKSDATARANGE) &FormatRGB32Bpp_CaptureVGA_60fps, + (PKSDATARANGE) &FormatRGB32Bpp_CaptureVGA_90fps, + (PKSDATARANGE) &FormatRGB32Bpp_CaptureVGA_120fps, + (PKSDATARANGE) &FormatRGB32Bpp_CaptureQVGA, +}; |
