Click here to Skip to main content
15,886,847 members
Articles / Multimedia / GDI+

Visual Surveillance Laboratory

Rate me:
Please Sign up or sign in to vote.
4.85/5 (45 votes)
6 Aug 2008Apache8 min read 147.2K   11K   241  
A description of surveillance systems
namespace dshow.Core
{
	using System;
	using System.Runtime.InteropServices;

	// IBasicVideo interface
	//
	// The interface enables applications to set video properties
	// such as the bit rate, and destination and source rectangles
	//
	[ComImport,
	Guid("56A868B5-0AD4-11CE-B03A-0020AF0BA770"),
	InterfaceType(ComInterfaceType.InterfaceIsDual)]
	public interface IBasicVideo
	{
		// Retrieves the average time between successive frames
		// in 100-nanosecond units
		[PreserveSig]
		int get_AvgTimePerFrame(
			out double pAvgTimePerFrame);

		// Retrieves an approximate bit rate for the video stream
		[PreserveSig]
		int get_BitRate(
			out int pBitRate);

		// Retrieves an approximate bit error rate for the video stream
		[PreserveSig]
		int get_BitErrorRate(
			out int pBitRate);

		// Retrieves the current video width
		[PreserveSig]
		int get_VideoWidth(
			out int pVideoWidth);

		// Retrieves the current video height
		[PreserveSig]
		int get_VideoHeight(
			out int pVideoHeight);

		// Sets the x-axis coordinate for the source video rectangle
		[PreserveSig]
		int put_SourceLeft(
			int SourceLeft);
		// Retrieves the x-axis coordinate for the source video rectangle
		[PreserveSig]
		int get_SourceLeft(
			out int pSourceLeft);

		// Sets the width of the source video rectangle
		[PreserveSig]
		int put_SourceWidth(
			int SourceWidth);
		// Retrieves the width of the source video rectangle
		[PreserveSig]
		int get_SourceWidth(
			out int pSourceWidth);

		// Sets the y-axis coordinate for the source video rectangle
		[PreserveSig]
		int put_SourceTop(
			int SourceTop);
		// Retrieves the y-axis coordinate for the source video rectangle
		[PreserveSig]
		int get_SourceTop(
			out int pSourceTop);

		// Sets the height of the source video rectangle
		[PreserveSig]
		int put_SourceHeight(
			int SourceHeight);
		// Retrieves the height of the source video rectangle
		[PreserveSig]
		int get_SourceHeight(
			out int pSourceHeight);

		// Sets the x-axis coordinate for the destination video rectangle
		[PreserveSig]
		int put_DestinationLeft(
			int DestinationLeft);
		// Retrieves the x-axis coordinate for the destination video rectangle
		[PreserveSig]
		int get_DestinationLeft(
			out int pDestinationLeft);

		// Sets the width of the destination video rectangle
		[PreserveSig]
		int put_DestinationWidth(
			int DestinationWidth);
		// Retrieves the width of the destination video rectangle
		[PreserveSig]
		int get_DestinationWidth(
			out int pDestinationWidth);

		// Sets the y-axis coordinate for the destination video rectangle
		[PreserveSig]
		int put_DestinationTop(
			int DestinationTop);
		// Retrieves the y-axis coordinate for the destination video rectangle
		[PreserveSig]
		int get_DestinationTop(
			out int pDestinationTop);

		// Sets the height of the destination video rectangle
		[PreserveSig]
		int put_DestinationHeight(
			int DestinationHeight);
		// Retrieves the height of the destination video rectangle
		[PreserveSig]
		int get_DestinationHeight(
			out int pDestinationHeight);

		// Sets the source video rectangle
		[PreserveSig]
		int SetSourcePosition(
			int left,
			int top,
			int width,
			int height);

		// Retrieves the source video rectangle
		[PreserveSig]
		int GetSourcePosition(
			out int left,
			out int top,
			out int width,
			out int height);

		// Informs the renderer to use the default source rectangle
		[PreserveSig]
		int SetDefaultSourcePosition();

		// Sets the destination rectangle for the window
		[PreserveSig]
		int SetDestinationPosition(
			int left,
			int top,
			int width,
			int height);

		// Retrieves the destination video rectangle for the window
		[PreserveSig]
		int GetDestinationPosition(
			out int left,
			out int top,
			out int width,
			out int height);

		// Sets the default destination position for the window
		[PreserveSig]
		int SetDefaultDestinationPosition();

		// Retrieves the native video dimensions
		[PreserveSig]
		int GetVideoSize(
			out int pWidth,
			out int pHeight);

		// Retrieves the color palette entries required by the video
		[PreserveSig]
		int GetVideoPaletteEntries(
			int StartIndex,
			int Entries,
			out int pRetrieved,
			IntPtr pPalette);

		// Returns a copy of the current image that is waiting at the renderer
		[PreserveSig]
		int GetCurrentImage(
			ref int pBufferSize,
			IntPtr pDIBImage);

		// Determines if the renderer is using the default source rectangle
		[PreserveSig]
		int IsUsingDefaultSource();

		// Determines if the renderer is using the default destination rectangle
		[PreserveSig]
		int IsUsingDefaultDestination();

	}
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Apache License, Version 2.0


Written By
Software Developer
Israel Israel
A computer science master student at Bar Ilan University under the supervision of Dr. Gal Kaminka.
Dealing mainly with trajectory mining.

Comments and Discussions