e2eSoft VideoTrans filter Readme
--------------------------------

e2eSoft VideoTrans filter has 2 filters inside - Colorspace Converter filter and Video Resizer filter.


[e2eSoft Video Colorspace Converter filter definitions]
=======================================================

// {618C8D11-3BCC-4ff3-B4D8-D989F1B05F4D}
DEFINE_GUID(CLSID_ColorCnv, 
			0x618c8d21, 0x3bcc, 0x4ff3, 0xb4, 0xd8, 0xd9, 0x89, 0xf1, 0xb0, 0x5f, 0x4d);


// {618C8D12-3BCC-4ff3-B4D8-D989F1B05F4D}
DEFINE_GUID(IID_IColorCnv, 
			0x618c8d22, 0x3bcc, 0x4ff3, 0xb4, 0xd8, 0xd9, 0x89, 0xf1, 0xb0, 0x5f, 0x4d);

DECLARE_INTERFACE_(IColorCnv, IUnknown)
{
	STDMETHOD(SetInputVideoFormat) (GUID subType) PURE;
	STDMETHOD(GetInputVideoFormat) (GUID* pSubType) PURE;
	STDMETHOD(SetOutputVideoFormat) (GUID subType) PURE;
	STDMETHOD(GetOutputVideoFormat) (GUID* pSubType) PURE;
};

// {06D8724E-BA21-4a07-A07E-67C36EE29EC2}
DEFINE_GUID(IID_IVideoCrop, 
			0x6d8720e, 0xba21, 0x4a07, 0xa0, 0x7e, 0x67, 0xc3, 0x6e, 0xe2, 0x9e, 0xc2);

DECLARE_INTERFACE_(IVideoCrop, IUnknown)
{
	STDMETHOD(SetCrop) (LONG l, LONG t, LONG r, LONG b) PURE;
	STDMETHOD(GetCrop) (LONG* l, LONG* t, LONG* r, LONG* b) PURE;
};

Video Colorspace Converter filter supports IColorCnv and IVideoCrop interfaces, you can get them by QueryInterface.
The media sub type supported are:
{
	MEDIASUBTYPE_RGB32,
	MEDIASUBTYPE_RGB24,
	MEDIASUBTYPE_RGB565,
	MEDIASUBTYPE_YUY2,
	MEDIASUBTYPE_YUYV,
	MEDIASUBTYPE_YV12,
	MEDIASUBTYPE_I420,
	MEDIASUBTYPE_IYUV
}




[e2eSoft Video Resizer filter definitions]
==========================================

// {618C8D01-3BCC-4ff3-B4D8-D989F1B05F4D}
DEFINE_GUID(CLSID_VideoResize, 
			0x618c8d2a, 0x3bcc, 0x4ff3, 0xb4, 0xd8, 0xd9, 0x89, 0xf1, 0xb0, 0x5f, 0x4d);

// {618C8D02-3BCC-4ff3-B4D8-D989F1B05F4D}
DEFINE_GUID(IID_IVideoResize, 
			0x618c8d2b, 0x3bcc, 0x4ff3, 0xb4, 0xd8, 0xd9, 0x89, 0xf1, 0xb0, 0x5f, 0x4d);

DECLARE_INTERFACE_(IVideoResize, IUnknown)
{
	STDMETHOD(SetPreferredFormat) (GUID subType) PURE;
	STDMETHOD(GetPreferredFormat) (GUID* pSubType) PURE;
	STDMETHOD(SetOutputSize) (LONG w, LONG h) PURE;
	STDMETHOD(GetOutputSize) (LONG* w, LONG* h) PURE;
	STDMETHOD(SetResizeType) (LONG type) PURE;
	STDMETHOD(GetResizeType) (LONG* type) PURE;
	STDMETHOD(SetResizeMethod) (LONG method) PURE;
	STDMETHOD(GetResizeMethod) (LONG* method) PURE;
	STDMETHOD(SetLetterboxColor) (LONG clr) PURE;
	STDMETHOD(GetLetterboxColor) (LONG* clr) PURE;
	STDMETHOD(SetBCHSG) (LONG bright, LONG contrast, LONG hue, LONG saturation, LONG gamma) PURE;	// RGB24/RGB32 only
	STDMETHOD(GetBCHSG) (LONG* bright, LONG* contrast, LONG* hue, LONG* saturation, LONG* gamma) PURE;
	STDMETHOD(SetDeinterlace) (BOOL deinterlace) PURE;	// RGB24/RGB32 only
	STDMETHOD(GetDeinterlace) (BOOL* deinterlace) PURE;
};

Video Resizer filter supports IVideoResize and IVideoCrop interfaces, you can get them by QueryInterface.
The media sub type supported are:
{
	MEDIASUBTYPE_RGB32,
	MEDIASUBTYPE_RGB24,
	MEDIASUBTYPE_RGB565,
	MEDIASUBTYPE_YUY2,
	MEDIASUBTYPE_YUYV,
	MEDIASUBTYPE_YV12,
	MEDIASUBTYPE_I420,
	MEDIASUBTYPE_IYUV
}
For BCHSG and Deinterlace, only RGB32/RGB24 format are supported.




This filter is a shareware, which means that you can trial it freely, but if you want to use it in your product, you must purchase it.

For more informations, please contact us.

[Contacts]
www.e2esoft.cn
sales@e2esoft.cn