mirror of
https://github.com/ONLYOFFICE/core.git
synced 2026-04-07 13:55:33 +08:00
1964 lines
55 KiB
C++
1964 lines
55 KiB
C++
// ASCVideoFormat.h : Declaration of the CASCVideoFormat
|
|
|
|
#pragma once
|
|
#include "resource.h" // main symbols
|
|
#include "ASCMediaFormat.h" // main symbols
|
|
|
|
#include "../Common/FourCCDefines.h"
|
|
|
|
class CAVSVideoFormat;
|
|
// IAVSVideoFormat
|
|
[ object, uuid("AC948866-8408-4F7F-85FE-FF6CFD1F1264"), dual, pointer_default(unique)]
|
|
__interface IAVSVideoFormat : IAVSMediaFormat
|
|
{
|
|
[id(102000 + 1), propget] HRESULT fccHandler([out, retval] ULONG* pVal);
|
|
[id(102000 + 1), propput] HRESULT fccHandler([in] ULONG newVal);
|
|
|
|
[id(102000 + 2), propget] HRESULT Bitrate([out, retval] long* pVal);
|
|
[id(102000 + 2), propput] HRESULT Bitrate([in] long newVal);
|
|
[id(102000 + 3), propget] HRESULT FrameRate([out, retval] double* pVal);
|
|
[id(102000 + 3), propput] HRESULT FrameRate([in] double newVal);
|
|
|
|
[id(102000 + 4), propget] HRESULT Width([out, retval] long* pVal);
|
|
[id(102000 + 4), propput] HRESULT Width([in] long newVal);
|
|
[id(102000 + 5), propget] HRESULT Height([out, retval] long* pVal);
|
|
[id(102000 + 5), propput] HRESULT Height([in] long newVal);
|
|
//ñì. "MediaFormatDefine.h" define ñ ïðåôèêñîì CSP_
|
|
[id(102000 + 6), propget] HRESULT ColorSpace([out, retval] long* pVal);
|
|
[id(102000 + 6), propput] HRESULT ColorSpace([in] long newVal);
|
|
[id(102000 + 7), propget] HRESULT AspectRatioX([out, retval] long* pVal);
|
|
[id(102000 + 7), propput] HRESULT AspectRatioX([in] long newVal);
|
|
[id(102000 + 8), propget] HRESULT AspectRatioY([out, retval] long* pVal);
|
|
[id(102000 + 8), propput] HRESULT AspectRatioY([in] long newVal);
|
|
|
|
[id(102000 + 9), propget] HRESULT CodecName([out, retval] BSTR* pVal);
|
|
|
|
[id(102000 + 10), propget] HRESULT InternalCodecType([out, retval] long* pVal);
|
|
[id(102000 + 10), propput] HRESULT InternalCodecType([in] long newVal);
|
|
};
|
|
|
|
template <class CoT, class T>
|
|
class CAVSVideoFormatImpl : public CAVSMediaFormatImpl<CoT, T>
|
|
{
|
|
public:
|
|
CAVSVideoFormatImpl()
|
|
: m_bIsInterlaced(FALSE)
|
|
{
|
|
m_lMediaType = MEDIAFORMAT_VIDEO;
|
|
SetDefaultProperties();
|
|
}
|
|
|
|
STDMETHOD(CreateDuplicate)(IAVSMediaFormat** pMediaFormat)
|
|
{
|
|
CAVSMediaFormatImpl<CoT, T>::CreateDuplicate(pMediaFormat);
|
|
if (NULL==(*pMediaFormat))
|
|
return S_OK;
|
|
IAVSVideoFormat * pAVSVideoFormat=NULL;
|
|
(*pMediaFormat)->QueryInterface(__uuidof(IAVSVideoFormat), (void**)&pAVSVideoFormat);
|
|
if (NULL==pAVSVideoFormat)
|
|
{
|
|
(*pMediaFormat)->Release();
|
|
*pMediaFormat = NULL;
|
|
return S_OK;
|
|
}
|
|
|
|
pAVSVideoFormat->put_fccHandler(m_ulfccHandler);
|
|
pAVSVideoFormat->put_Bitrate(m_lBitrate);
|
|
pAVSVideoFormat->put_FrameRate(m_dFrameRate);
|
|
|
|
pAVSVideoFormat->put_Width(m_lWidth);
|
|
pAVSVideoFormat->put_Height(m_lHeight);
|
|
pAVSVideoFormat->put_ColorSpace(m_lColorSpace);
|
|
pAVSVideoFormat->put_AspectRatioX(m_lAspectRatioX);
|
|
pAVSVideoFormat->put_AspectRatioY(m_lAspectRatioY);
|
|
pAVSVideoFormat->put_InternalCodecType(m_lInternalCodecType);
|
|
|
|
pAVSVideoFormat->Release();
|
|
return S_OK;
|
|
}
|
|
STDMETHOD(SetDefaultProperties)(void)
|
|
{
|
|
m_ulfccHandler = 0xFFFFFFFF;
|
|
m_lInternalCodecType = 0;
|
|
m_lBitrate = 2500000;
|
|
m_dFrameRate = 30.0;
|
|
|
|
m_lWidth = 352;
|
|
m_lHeight = 288;
|
|
m_lColorSpace = CSP_BGRA|CSP_VFLIP;
|
|
m_lAspectRatioX = 0;
|
|
m_lAspectRatioY = 1;
|
|
|
|
return S_OK;
|
|
}
|
|
STDMETHOD(SetPropertiesByFormat)(IAVSMediaFormat* pMediaFormat)
|
|
{
|
|
CAVSMediaFormatImpl<CoT, T>::SetPropertiesByFormat(pMediaFormat);
|
|
if (pMediaFormat!=NULL)
|
|
{
|
|
IAVSVideoFormat * pAVSVideoFormat=NULL;
|
|
pMediaFormat->QueryInterface(__uuidof(IAVSVideoFormat), (void**)&pAVSVideoFormat);
|
|
if (pAVSVideoFormat!=NULL)
|
|
{
|
|
pAVSVideoFormat->get_fccHandler(&m_ulfccHandler);
|
|
pAVSVideoFormat->get_Bitrate(&m_lBitrate);
|
|
pAVSVideoFormat->get_FrameRate(&m_dFrameRate);
|
|
|
|
pAVSVideoFormat->get_Width(&m_lWidth);
|
|
pAVSVideoFormat->get_Height(&m_lHeight);
|
|
pAVSVideoFormat->get_ColorSpace(&m_lColorSpace);
|
|
pAVSVideoFormat->get_AspectRatioX(&m_lAspectRatioX);
|
|
pAVSVideoFormat->get_AspectRatioY(&m_lAspectRatioY);
|
|
pAVSVideoFormat->get_InternalCodecType(&m_lInternalCodecType);
|
|
|
|
RELEASEINTERFACE(pAVSVideoFormat);
|
|
}
|
|
}
|
|
return S_OK;
|
|
}
|
|
STDMETHOD(SetAdditionalParam)(BSTR ParamName, VARIANT ParamValue)
|
|
{
|
|
CString sParamName; sParamName = ParamName;
|
|
if (_T("IsInterlaced") == sParamName)
|
|
{//17.07.2009 Äîáàâëåíî ïî óêàçàíèþ Ñ.À.
|
|
m_bIsInterlaced = (VARIANT_FALSE != ParamValue.boolVal);
|
|
}
|
|
//Çäåñü ïðîâåðÿåì ïàðàìåòðû îòíîñÿùèåñÿ ê VideoFormat
|
|
return CAVSMediaFormatImpl<CoT, T>::SetAdditionalParam(ParamName, ParamValue);
|
|
}
|
|
STDMETHOD(GetAdditionalParam)(BSTR ParamName, VARIANT* ParamValue)
|
|
{
|
|
CString sParamName; sParamName = ParamName;
|
|
|
|
if (_T("IsInterlaced") == sParamName)
|
|
{//17.07.2009 Äîáàâëåíî ïî óêàçàíèþ Ñ.À.
|
|
if (NULL==ParamValue)
|
|
return S_OK;
|
|
ParamValue->vt = VT_BOOL;
|
|
ParamValue->boolVal = m_bIsInterlaced ? VARIANT_TRUE : VARIANT_FALSE;
|
|
return S_OK;
|
|
}
|
|
//Çäåñü ïðîâåðÿåì ïàðàìåòðû îòíîñÿùèåñÿ ê VideoFormat
|
|
return CAVSMediaFormatImpl<CoT, T>::GetAdditionalParam(ParamName, ParamValue);
|
|
}
|
|
|
|
|
|
STDMETHOD(get_fccHandler)(ULONG* pVal)
|
|
{
|
|
*pVal = m_ulfccHandler;
|
|
return S_OK;
|
|
}
|
|
STDMETHOD(put_fccHandler)(ULONG newVal)
|
|
{
|
|
m_ulfccHandler = newVal;
|
|
return S_OK;
|
|
}
|
|
|
|
STDMETHOD(get_Bitrate)(long* pVal)
|
|
{
|
|
*pVal = m_lBitrate;
|
|
return S_OK;
|
|
}
|
|
STDMETHOD(put_Bitrate)(long newVal)
|
|
{
|
|
m_lBitrate = newVal;
|
|
return S_OK;
|
|
}
|
|
STDMETHOD(get_FrameRate)(double* pVal)
|
|
{
|
|
*pVal = m_dFrameRate;
|
|
return S_OK;
|
|
}
|
|
STDMETHOD(put_FrameRate)(double newVal)
|
|
{
|
|
m_dFrameRate = newVal;
|
|
return S_OK;
|
|
}
|
|
|
|
STDMETHOD(get_Width)(long* pVal)
|
|
{
|
|
*pVal = m_lWidth;
|
|
return S_OK;
|
|
}
|
|
STDMETHOD(put_Width)(long newVal)
|
|
{
|
|
m_lWidth = newVal;
|
|
return S_OK;
|
|
}
|
|
STDMETHOD(get_Height)(long* pVal)
|
|
{
|
|
*pVal = m_lHeight;
|
|
return S_OK;
|
|
}
|
|
STDMETHOD(put_Height)(long newVal)
|
|
{
|
|
m_lHeight = newVal;
|
|
return S_OK;
|
|
}
|
|
STDMETHOD(get_ColorSpace)(long* pVal)
|
|
{
|
|
*pVal = m_lColorSpace;
|
|
return S_OK;
|
|
}
|
|
STDMETHOD(put_ColorSpace)(long newVal)
|
|
{
|
|
m_lColorSpace = newVal;
|
|
return S_OK;
|
|
}
|
|
STDMETHOD(get_AspectRatioX)(long* pVal)
|
|
{
|
|
*pVal = m_lAspectRatioX;
|
|
return S_OK;
|
|
|
|
}
|
|
STDMETHOD(put_AspectRatioX)(long newVal)
|
|
{
|
|
m_lAspectRatioX = newVal;
|
|
return S_OK;
|
|
}
|
|
STDMETHOD(get_AspectRatioY)(long* pVal)
|
|
{
|
|
*pVal = m_lAspectRatioY;
|
|
return S_OK;
|
|
}
|
|
STDMETHOD(put_AspectRatioY)(long newVal)
|
|
{
|
|
m_lAspectRatioY = newVal;
|
|
return S_OK;
|
|
}
|
|
|
|
STDMETHOD(get_CodecName)(BSTR* pVal)
|
|
{
|
|
CString sCodecName;
|
|
if (m_lInternalCodecType==0)
|
|
{
|
|
sCodecName = GetVideoCodecByFourCC(m_ulfccHandler);
|
|
// if (0!=m_lInternalCodecType)
|
|
// sCodecName += _T(" (Internal)");
|
|
|
|
} else
|
|
{
|
|
switch (m_lInternalCodecType)
|
|
{
|
|
case XVID_INTERNALCODEC:
|
|
sCodecName = _T("MPEG4 (DivX/Xvid compatible)");
|
|
break;
|
|
case INTELMEDIA_H264_INTERNALCODEC:
|
|
sCodecName = _T("H.264/AVC (Intel)");
|
|
break;
|
|
case H264_INTERNALCODEC:
|
|
case FF_H264_INTERNALCODEC:
|
|
sCodecName = _T("H.264/AVC (Advanced Video Coding)");
|
|
break;
|
|
case FF_FLV_INTERNALCODEC:
|
|
sCodecName = _T("H.263 FLV Video");
|
|
break;
|
|
case RV7_INTERNALCODEC:
|
|
sCodecName = _T("Real Video 7");
|
|
break;
|
|
case RV8_INTERNALCODEC:
|
|
sCodecName = _T("Real Video 8");
|
|
break;
|
|
case RV9_INTERNALCODEC:
|
|
sCodecName = _T("Real Video 9");
|
|
break;
|
|
case RV10_INTERNALCODEC:
|
|
sCodecName = _T("Real Video 10");
|
|
break;
|
|
case FF_SVQ1_INTERNALCODEC:
|
|
sCodecName = _T("Sorenson Video 1");
|
|
break;
|
|
case FF_SVQ3_INTERNALCODEC:
|
|
sCodecName = _T("Sorenson Video 3");
|
|
break;
|
|
case FF_DV_INTERNALCODEC:
|
|
sCodecName = _T("Digital Video");
|
|
break;
|
|
case FF_MJPEG_INTERNALCODEC:
|
|
sCodecName = _T("IBM Motion JPEG");
|
|
break;
|
|
case FF_MJPEGB_INTERNALCODEC:
|
|
sCodecName = _T("Motion JPEG Codec");
|
|
break;
|
|
case FF_SP5X_INTERNALCODEC:
|
|
sCodecName = _T("SunPlus Aiptek MegaCam Codec");
|
|
break;
|
|
case FF_LJPEG_INTERNALCODEC:
|
|
sCodecName = _T("Lossless JPEG compression");
|
|
break;
|
|
case FF_MSMPEG4_INTERNALCODEC:
|
|
sCodecName = _T("Microsoft MPEG-4");
|
|
break;
|
|
case FF_MSMPEG4V1_INTERNALCODEC:
|
|
sCodecName = _T("Microsoft MPEG-4 V1");
|
|
break;
|
|
case FF_MSMPEG4V2_INTERNALCODEC:
|
|
sCodecName = _T("Microsoft MPEG-4 V2");
|
|
break;
|
|
case FF_MSMPEG4V3_INTERNALCODEC:
|
|
sCodecName = _T("Microsoft MPEG-4 V3");
|
|
break;
|
|
case FF_CINEPAK_INTERNALCODEC:
|
|
sCodecName = _T("Cinepak by Radius");
|
|
break;
|
|
case FF_INDEO2_INTERNALCODEC:
|
|
sCodecName = _T("Intel Indeo Video 2");
|
|
break;
|
|
case FF_INDEO3_INTERNALCODEC:
|
|
sCodecName = _T("Intel Indeo Video 3");
|
|
break;
|
|
case FF_HUFFMAN_INTERNALCODEC:
|
|
sCodecName = _T("Huffman Lossless Codec");
|
|
break;
|
|
case FF_8BPS_INTERNALCODEC:
|
|
sCodecName = _T("Planar RGB");
|
|
break;
|
|
case FF_VC1_INTERNALCODEC:
|
|
sCodecName = _T("Microsoft Video Codec 1");
|
|
break;
|
|
case FF_RLE_INTERNALCODEC:
|
|
sCodecName = _T("Apple Animation");
|
|
break;
|
|
case FF_SMC_INTERNALCODEC:
|
|
sCodecName = _T("Apple Graphics");
|
|
break;
|
|
case FF_RPZA_INTERNALCODEC:
|
|
sCodecName = _T("Apple Video");
|
|
break;
|
|
case FF_QDRW_INTERNALCODEC:
|
|
sCodecName = _T("Apple Quick draw");
|
|
break;
|
|
case FF_CYUV_INTERNALCODEC:
|
|
sCodecName = _T("Creative YUV");
|
|
break;
|
|
case FF_H261_INTERNALCODEC:
|
|
sCodecName = _T("Intel ITU H.261");
|
|
break;
|
|
case FF_ASUSV1_INTERNALCODEC:
|
|
sCodecName = _T("Asus Video V1");
|
|
break;
|
|
case FF_ASUSV2_INTERNALCODEC:
|
|
sCodecName = _T("Asus Video V2");
|
|
break;
|
|
case FF_QPEG_INTERNALCODEC:
|
|
sCodecName = _T("Q-Team QPEG");
|
|
break;
|
|
case FF_ON2VP6F_INTERNALCODEC:
|
|
sCodecName = _T("On2 VP6 flipped");
|
|
break;
|
|
case FF_ON2VP3_INTERNALCODEC:
|
|
sCodecName = _T("On2 VP3");
|
|
break;
|
|
case FF_ON2VP5_INTERNALCODEC:
|
|
sCodecName = _T("On2 VP5");
|
|
break;
|
|
case FF_ON2VP6_INTERNALCODEC:
|
|
sCodecName = _T("On2 VP6");
|
|
break;
|
|
case FF_FRAPS_INTERNALCODEC:
|
|
sCodecName = _T("Fraps");
|
|
break;
|
|
default:
|
|
sCodecName = GetVideoCodecByFourCC(m_ulfccHandler);
|
|
}
|
|
}
|
|
*pVal = sCodecName.AllocSysString();
|
|
return S_OK;
|
|
}
|
|
|
|
STDMETHOD(get_InternalCodecType)(long* pVal)
|
|
{
|
|
*pVal = m_lInternalCodecType;
|
|
return S_OK;
|
|
}
|
|
STDMETHOD(put_InternalCodecType)(long newVal)
|
|
{
|
|
m_lInternalCodecType = newVal;
|
|
return S_OK;
|
|
}
|
|
|
|
protected:
|
|
ULONG m_ulfccHandler;
|
|
long m_lInternalCodecType;
|
|
long m_lBitrate;
|
|
double m_dFrameRate;
|
|
long m_lWidth;
|
|
long m_lHeight;
|
|
|
|
long m_lColorSpace;
|
|
long m_lAspectRatioX;
|
|
long m_lAspectRatioY;
|
|
|
|
BOOL m_bIsInterlaced;
|
|
|
|
const static CString GetVideoCodecByFourCC(DWORD fccHandler)
|
|
{
|
|
char fcc[5];
|
|
fcc[0]=((BYTE*)&fccHandler)[0];
|
|
fcc[1]=((BYTE*)&fccHandler)[1];
|
|
fcc[2]=((BYTE*)&fccHandler)[2];
|
|
fcc[3]=((BYTE*)&fccHandler)[3];
|
|
fcc[4]=0;
|
|
|
|
fccHandler = UPPERCASEFOURCC(fccHandler);
|
|
|
|
CString sCodecName((char *)fcc);
|
|
BOOL bNotFound = FALSE;
|
|
while (!bNotFound)
|
|
{
|
|
switch (fccHandler)
|
|
{
|
|
case _3IV0Handler:
|
|
sCodecName = _T("MPEG4-based Codec 3ivx");
|
|
break;
|
|
case _3IV1Handler:
|
|
sCodecName = _T("MPEG4-based Codec 3ivx");
|
|
break;
|
|
case _3IV2Handler:
|
|
sCodecName = _T("MPEG4-based Codec 3ivx");
|
|
break;
|
|
case _3IVDHandler:
|
|
sCodecName = _T("FFmpeg DivX ;-) (MS MPEG-4 v3)");
|
|
break;
|
|
case _3IVXHandler:
|
|
sCodecName = _T("MPEG4-based Codec 3ivx");
|
|
break;
|
|
case 0:
|
|
case _8BPSHandler:
|
|
sCodecName = _T("Uncompressed RGB"); //Planar
|
|
break;
|
|
case _SGIHandler:
|
|
sCodecName = _T("SGI");
|
|
break;
|
|
case AAS4Handler:
|
|
sCodecName = _T("Autodesk Animator Codec (RLE)");
|
|
break;
|
|
case ASV1Handler:
|
|
sCodecName = _T("Asus Video V1");
|
|
break;
|
|
case ASV2Handler:
|
|
sCodecName = _T("Asus Video V2");
|
|
break;
|
|
case AASCHandler:
|
|
sCodecName = _T("Autodesk Animator Codec (RLE)");
|
|
break;
|
|
case ABYRHandler:
|
|
sCodecName = _T("Kensington Codec");
|
|
break;
|
|
case ADV1Handler:
|
|
sCodecName = _T("Loronix WaveCodec"); //(used in various CCTV products)
|
|
break;
|
|
case ADVJHandler:
|
|
sCodecName = _T("Avid M-JPEG Avid Technology Also known as AVRn");
|
|
break;
|
|
case AEMIHandler:
|
|
sCodecName = _T("Array VideoONE MPEG1-I Capture");
|
|
break;
|
|
case AFLCHandler:
|
|
sCodecName = _T("Autodesk Animator FLC"); //(256 color)
|
|
break;
|
|
case AFLIHandler:
|
|
sCodecName = _T("Autodesk Animator FLI"); //(256 color)
|
|
break;
|
|
case ALPHHandler: //Not specified
|
|
bNotFound = TRUE;
|
|
break;
|
|
case AMPGHandler:
|
|
sCodecName = _T("Array VideoONE MPEG");
|
|
break;
|
|
case ANIMHandler:
|
|
sCodecName = _T("Intel RDX");
|
|
break;
|
|
case AP41Handler:
|
|
sCodecName = _T("AngelPotion Definitive"); //(hack MS MP43)
|
|
break;
|
|
case ASVXHandler:
|
|
sCodecName = _T("Asus Video 2.0");
|
|
break;
|
|
case AUR2Handler:
|
|
sCodecName = _T("AuraVision Aura 2 Codec");
|
|
break;
|
|
case AURAHandler:
|
|
sCodecName = _T("AuraVision Aura 1 Codec");
|
|
break;
|
|
case AUVXHandler:
|
|
sCodecName = _T("AUVX video Codec");
|
|
break;
|
|
case AVC1Handler:
|
|
sCodecName = _T("H.264 Video");
|
|
break;
|
|
case AVDJHandler:
|
|
sCodecName = _T("Avid Motion JPEG");
|
|
break;
|
|
case AVI1Handler:
|
|
sCodecName = _T("MainConcept Motion JPEG Codec");
|
|
break;
|
|
case AVI2Handler:
|
|
sCodecName = _T("MainConcept Motion JPEG Codec");
|
|
break;
|
|
case AVRHandler:
|
|
sCodecName = _T("AVR JPEG");
|
|
break;
|
|
case AVRNHandler:
|
|
sCodecName = _T("Avid Motion JPEG");
|
|
break;
|
|
case AZPRHandler:
|
|
sCodecName = _T("Quicktime Apple Video");
|
|
break;
|
|
case B16GHandler:
|
|
sCodecName = _T("Grayscale uncompressed"); //16Gray
|
|
break;
|
|
case B32AHandler:
|
|
sCodecName = _T("Grayscale uncompressed"); //32AlphaGray
|
|
break;
|
|
case B48RHandler:
|
|
sCodecName = _T("Uncompressed RGB48"); //48RGB
|
|
break;
|
|
case B64AHandler:
|
|
sCodecName = _T("Uncompressed RGB64"); //64ARGB
|
|
break;
|
|
case BASEHandler:
|
|
sCodecName = _T("Base");
|
|
break;
|
|
case BGRHandler:
|
|
sCodecName = _T("Uncompressed BGR32"); //8:8:8:8
|
|
break;
|
|
case BINKHandler:
|
|
sCodecName = _T("Bink Video"); //(RAD Game Tools) (256 color)
|
|
break;
|
|
case BITMHandler:
|
|
sCodecName = _T("Microsoft H.261");
|
|
break;
|
|
case BLZ0Handler:
|
|
sCodecName = _T("FFmpeg MPEG-4");
|
|
break;
|
|
case BT20Handler:
|
|
sCodecName = _T("Brooktree MediaStream Codec"); //(ex Brooktree)
|
|
break;
|
|
case BTCVHandler:
|
|
sCodecName = _T("Brooktree composite video Codec");
|
|
break;
|
|
case BTVCHandler:
|
|
sCodecName = _T("Conexant Composite Video");
|
|
break;
|
|
case BW10Handler:
|
|
sCodecName = _T("Data Translation Broadway MPEG Capture/Compression");
|
|
break;
|
|
case CC12Handler:
|
|
sCodecName = _T("Intel YUV12 Codec");
|
|
break;
|
|
case CDVCHandler:
|
|
sCodecName = _T("Canopus DV Codec");
|
|
break;
|
|
case CFCCHandler:
|
|
sCodecName = _T("Conkrete DPS Perception Motion JPEG");
|
|
break;
|
|
case CGDIHandler:
|
|
sCodecName = _T("Microsoft CamCorder in Office 97");
|
|
break;
|
|
case CHAMHandler:
|
|
sCodecName = _T("WinNow Caviara Champagne");
|
|
break;
|
|
case CJPGHandler:
|
|
sCodecName = _T("Creative Video Blaster Webcam Go JPEG");
|
|
break;
|
|
case CLJRHandler:
|
|
sCodecName = _T("Cirrus Logic YUV 4:1:1");
|
|
break;
|
|
case CLOUHandler:
|
|
sCodecName = _T("Cloud");
|
|
break;
|
|
case CLPLHandler:
|
|
sCodecName = _T("Format similar to YV12 but including a level of indirection.");
|
|
break;
|
|
case CM10Handler:
|
|
sCodecName = _T("MediaShow 1.0");
|
|
break;
|
|
case CMYKHandler:
|
|
sCodecName = _T("Common Data Format in Printing");
|
|
break;
|
|
case COL0Handler:
|
|
sCodecName = _T("FFmpeg DivX ;-) (MS MPEG-4 v3)");
|
|
break;
|
|
case COL1Handler:
|
|
sCodecName = _T("FFmpeg DivX ;-) (MS MPEG-4 v3)");
|
|
break;
|
|
case CPLAHandler:
|
|
sCodecName = _T("Weitek YUV 4:2:0 Planar");
|
|
break;
|
|
case CRAMHandler:
|
|
sCodecName = _T("Microsoft Video 1");
|
|
break;
|
|
case CT10Handler:
|
|
sCodecName = _T("TalkingShow 1.0");
|
|
break;
|
|
case CVIDHandler:
|
|
sCodecName = _T("Cinepak by Radius"); //YUV 4:2:2
|
|
break;
|
|
case CWLTHandler:
|
|
sCodecName = _T("Microsoft Color WLT DIB");
|
|
break;
|
|
case CYUVHandler:
|
|
sCodecName = _T("Creative Labs YUV");
|
|
break;
|
|
case CYUYHandler:
|
|
sCodecName = _T("ATI Technologies YUV");
|
|
break;
|
|
case D261Handler:
|
|
sCodecName = _T("DEC H.261");
|
|
break;
|
|
case D263Handler:
|
|
sCodecName = _T("DEC H.263");
|
|
break;
|
|
case DCAPHandler:
|
|
sCodecName = _T("Pinnacle DV25 Codec");
|
|
break;
|
|
case DCMJHandler:
|
|
sCodecName = _T("dcmj Video V3.00a");
|
|
break;
|
|
case DIBHandler:
|
|
sCodecName = _T("Uncompressed");
|
|
break;
|
|
case DIV1Handler:
|
|
sCodecName = _T("FFmpeg-4 V1"); //(hacked MS MPEG-4 V1)
|
|
break;
|
|
case DIV2Handler:
|
|
sCodecName = _T("MS MPEG-4 V2");
|
|
break;
|
|
case DIV3Handler:
|
|
sCodecName = _T("Low motion DivX MPEG-4");
|
|
break;
|
|
case DIV4Handler:
|
|
sCodecName = _T("Fast motion DivX MPEG-4");
|
|
break;
|
|
case DIV5Handler:
|
|
sCodecName = _T("DivX MPEG-4");
|
|
break;
|
|
case DIV6Handler:
|
|
sCodecName = _T("DivX MPEG-4");
|
|
break;
|
|
case DIVXHandler:
|
|
sCodecName = _T("DivX MPEG-4"); //OpenDivX (DivX 4.0 and later)
|
|
break;
|
|
case DJPGHandler:
|
|
sCodecName = _T("Broadway 101 Motion JPEG Codec");
|
|
break;
|
|
case DMB1Handler:
|
|
sCodecName = _T("Matrox Rainbow Runner hardware compression"); //(Motion JPEG)
|
|
break;
|
|
case DMB2Handler:
|
|
sCodecName = _T("Motion JPEG Codec used by Paradigm");
|
|
break;
|
|
case DP02Handler:
|
|
sCodecName = _T("DynaPel MPEG-4");
|
|
break;
|
|
case DP16Handler:
|
|
sCodecName = _T("YUV411 with DPCM 6-bit compression");
|
|
break;
|
|
case DP18Handler:
|
|
sCodecName = _T("YUV411 with DPCM 8-bit compression");
|
|
break;
|
|
case DP26Handler:
|
|
sCodecName = _T("YUV422 with DPCM 6-bit compression");
|
|
break;
|
|
case DP28Handler:
|
|
sCodecName = _T("YUV422 with DPCM 8-bit compression");
|
|
break;
|
|
case DP96Handler:
|
|
sCodecName = _T("YVU9 with DPCM 6-bit compression");
|
|
break;
|
|
case DP98Handler:
|
|
sCodecName = _T("YVU9 with DPCM 8-bit compression");
|
|
break;
|
|
case DP9LHandler:
|
|
sCodecName = _T("YVU9 with DPCM 6-bit compression and thinned-out");
|
|
break;
|
|
case DPS0Handler:
|
|
sCodecName = _T("DPS Reality Motion JPEG");
|
|
break;
|
|
case DPSCHandler:
|
|
sCodecName = _T("DPS PAR Motion JPEG");
|
|
break;
|
|
case DRWXHandler:
|
|
sCodecName = _T("Pinnacle DV25 Codec");
|
|
break;
|
|
case DSVDHandler:
|
|
sCodecName = _T("Microsoft DirectShow DV");
|
|
break;
|
|
case DUCKHandler:
|
|
sCodecName = _T("TRUE Motion 1.0");
|
|
break;
|
|
case DV1NHandler:
|
|
sCodecName = _T("DVC Pro100 NTSC");
|
|
break;
|
|
case DV1PHandler:
|
|
sCodecName = _T("DVC Pro100 PAL");
|
|
break;
|
|
case DV25Handler:
|
|
sCodecName = _T("Matrox DVCPRO Codec"); //SMPTE 314M 25Mb/s compressed
|
|
break;
|
|
case DV50Handler:
|
|
sCodecName = _T("Matrox DVCPRO50 Codec"); //SMPTE 314M 50Mb/s compressed
|
|
break;
|
|
case DV5NHandler:
|
|
sCodecName = _T("DVC Pro50 NTSC");
|
|
break;
|
|
case DV5PHandler:
|
|
sCodecName = _T("DVC Pro50 PAL");
|
|
break;
|
|
case DVCHandler:
|
|
sCodecName = _T("MainConcept DV Codec");
|
|
break;
|
|
case DVCPHandler:
|
|
sCodecName = _T("Digital Video"); //Sony (DV)
|
|
break;
|
|
case DVCSHandler:
|
|
sCodecName = _T("MainConcept DV Codec");
|
|
break;
|
|
case DVE2Handler:
|
|
sCodecName = _T("DVE-2 Videoconferencing Codec");
|
|
break;
|
|
case DVH1Handler:
|
|
sCodecName = _T("DVC Pro HD");
|
|
break;
|
|
case DVH5Handler:
|
|
sCodecName = _T("DVC PRO HD1080i 50");
|
|
break;
|
|
case DVH6Handler:
|
|
sCodecName = _T("DVC PRO HD1080i 60");
|
|
break;
|
|
case DVHDHandler:
|
|
sCodecName = _T("Digital Video"); //1125 lines at 30.00 Hz or 1250 lines at 25.00 Hz
|
|
break;
|
|
case DVHPHandler:
|
|
sCodecName = _T("DVC PRO HD720p");
|
|
break;
|
|
case DVNMHandler:
|
|
bNotFound=TRUE;
|
|
break;
|
|
case DVMAHandler:
|
|
sCodecName = _T("Darim Vision DVMPEG"); //(dummy for MPEG compressor)
|
|
break;
|
|
case DVPPHandler:
|
|
sCodecName = _T("DVC Pro PAL");
|
|
break;
|
|
case DVSDHandler:
|
|
sCodecName = _T("Digital Video"); //Sony (DV) 525 lines at 29.97 Hz or 625 lines at 25.00 Hz
|
|
break;
|
|
case DVSLHandler:
|
|
sCodecName = _T("Digital Video compressed in SD"); //(SDL)
|
|
break;
|
|
case DVX1Handler:
|
|
sCodecName = _T("Lucent DVX1000SP Video"); //Decoder
|
|
break;
|
|
case DVX2Handler:
|
|
sCodecName = _T("Lucent DVX2000S Video"); //Decoder
|
|
break;
|
|
case DVX3Handler:
|
|
sCodecName = _T("Lucent DVX3000S Video"); //Decoder
|
|
break;
|
|
case DX50Handler:
|
|
sCodecName = _T("DivX 5.0 Codec");
|
|
break;
|
|
case DXT0Handler:
|
|
case DXT1Handler:
|
|
case DXT2Handler:
|
|
case DXT3Handler:
|
|
case DXT4Handler:
|
|
case DXT5Handler:
|
|
case DXT6Handler:
|
|
case DXT7Handler:
|
|
case DXT8Handler:
|
|
case DXT9Handler:
|
|
case DXTAHandler:
|
|
case DXTBHandler:
|
|
case DXTCHandler:
|
|
sCodecName = _T("DirectX Texture Compression");
|
|
break;
|
|
case DXTDHandler:
|
|
case DXTEHandler:
|
|
case DXTFHandler:
|
|
case DXTGHandler:
|
|
case DXTHHandler:
|
|
case DXTIHandler:
|
|
case DXTJHandler:
|
|
case DXTKHandler:
|
|
case DXTLHandler:
|
|
case DXTMHandler:
|
|
case DXTNHandler:
|
|
case DXTOHandler:
|
|
case DXTPHandler:
|
|
case DXTQHandler:
|
|
case DXTRHandler:
|
|
case DXTSHandler:
|
|
case DXTTHandler:
|
|
case DXTUHandler:
|
|
case DXTVHandler:
|
|
case DXTWHandler:
|
|
case DXTXHandler:
|
|
case DXTYHandler:
|
|
case DXTZHandler:
|
|
sCodecName = _T("DirectX Compressed Texture");
|
|
break;
|
|
case EKQ0Handler:
|
|
sCodecName = _T("Elsa graphics card quick codec");
|
|
break;
|
|
case ELK0Handler:
|
|
sCodecName = _T("Elsa graphics card codec");
|
|
break;
|
|
case EM2VHandler:
|
|
sCodecName = _T("Etymonix MPEG-2 I-frame");
|
|
break;
|
|
case ESCPHandler:
|
|
sCodecName = _T("Eidos Technologies Escape Codec");
|
|
break;
|
|
case ETV1Handler:
|
|
sCodecName = _T("eTreppid Video Codec");
|
|
break;
|
|
case ETV2Handler:
|
|
sCodecName = _T("eTreppid Video Codec");
|
|
break;
|
|
case ETVCHandler:
|
|
sCodecName = _T("eTreppid Video Codec");
|
|
break;
|
|
case FIREHandler:
|
|
sCodecName = _T("Fire");
|
|
break;
|
|
case FLICHandler:
|
|
sCodecName = _T("Autodesk FLI/FLC Animation");
|
|
break;
|
|
case FLJPHandler:
|
|
sCodecName = _T("Field Encoded Motion JPEG"); //(Targa emulation)
|
|
break;
|
|
case FRWAHandler:
|
|
sCodecName = _T("Darim Vision Forward Motion JPEG"); //with Alpha-channel
|
|
break;
|
|
case FRWDHandler:
|
|
sCodecName = _T("Darim Vision Forward Motion JPEG");
|
|
break;
|
|
case FRWTHandler:
|
|
sCodecName = _T("Darim Vision Forward Motion JPEG");
|
|
break;
|
|
case FRWUHandler:
|
|
sCodecName = _T("Darim Vision Forward Uncompressed");
|
|
break;
|
|
case FVF1Handler:
|
|
sCodecName = _T("Iterated Systems Fractal Video Frame");
|
|
break;
|
|
case FVFWHandler:
|
|
sCodecName = _T("ff MPEG-4 based on Xvid Codec");
|
|
break;
|
|
case FXT1Handler:
|
|
bNotFound=TRUE;
|
|
break;
|
|
case GEPJHandler:
|
|
sCodecName = _T("White Pine Motion JPEG Codec"); //(ex Paradigm Matrix)
|
|
break;
|
|
case GIFHandler:
|
|
sCodecName = _T("Gif image");
|
|
break;
|
|
case GLZWHandler:
|
|
sCodecName = _T("Motion LZW"); //by gabest@freemail.hu
|
|
break;
|
|
case GPEGHandler:
|
|
sCodecName = _T("Motion JPEG"); //by gabest@freemail.hu (with floating point)
|
|
break;
|
|
case GPJMHandler:
|
|
sCodecName = _T("Pinnacle ReelTime MJPEG Codec");
|
|
break;
|
|
case GREYHandler:
|
|
sCodecName = _T("Apparently a duplicate of Y800");
|
|
break;
|
|
case GWLTHandler:
|
|
sCodecName = _T("Microsoft Greyscale WLT DIB");
|
|
break;
|
|
case H260Handler:
|
|
sCodecName = _T("Intel ITU H.260");
|
|
break;
|
|
case H261Handler:
|
|
sCodecName = _T("Intel ITU H.261");
|
|
break;
|
|
case H262Handler:
|
|
sCodecName = _T("Intel ITU H.262");
|
|
break;
|
|
case H263Handler:
|
|
sCodecName = _T("Intel ITU H.263");
|
|
break;
|
|
case H264Handler:
|
|
sCodecName = _T("Intel ITU H.264");
|
|
break;
|
|
case H265Handler:
|
|
sCodecName = _T("Intel ITU H.265");
|
|
break;
|
|
case H266Handler:
|
|
sCodecName = _T("Intel ITU H.266");
|
|
break;
|
|
case H267Handler:
|
|
sCodecName = _T("Intel ITU H.267");
|
|
break;
|
|
case H268Handler:
|
|
sCodecName = _T("Intel ITU H.268");
|
|
break;
|
|
case H269Handler:
|
|
sCodecName = _T("Intel ITU H.263"); //for POTS-based videoconferencing
|
|
break;
|
|
case HFYUHandler:
|
|
sCodecName = _T("Huffman Lossless Codec"); //YUV and RGB formats (with Alpha-channel)
|
|
break;
|
|
case HMCRHandler:
|
|
sCodecName = _T("Rendition Motion Compensation Format");
|
|
break;
|
|
case HMRRHandler:
|
|
sCodecName = _T("Rendition Motion Compensation Format");
|
|
break;
|
|
case I263Handler:
|
|
sCodecName = _T("Intel ITU H.263");
|
|
break;
|
|
case I420Handler:
|
|
sCodecName = _T("Intel Indeo 4 H.263");
|
|
break;
|
|
case IANHandler:
|
|
sCodecName = _T("Indeo 4 (RDX) Codec");
|
|
break;
|
|
case ICLBHandler:
|
|
sCodecName = _T("InSoft CellB Videoconferencing Codec");
|
|
break;
|
|
case IF09Handler:
|
|
sCodecName = _T("Microsoft H.261"); //Intel intermediate YUV9
|
|
break;
|
|
case IGORHandler:
|
|
sCodecName = _T("Power DVD");
|
|
break;
|
|
case IJPGHandler:
|
|
sCodecName = _T("Intergraph JPEG");
|
|
break;
|
|
case ILVCHandler:
|
|
sCodecName = _T("Intel Layered Video");
|
|
break;
|
|
case ILVRHandler:
|
|
sCodecName = _T("ITU H.263+ Codec");
|
|
break;
|
|
case IMACHandler:
|
|
sCodecName = _T("Intel hardware motion compensation");
|
|
break;
|
|
case IMC1Handler:
|
|
sCodecName = _T("Uncompressed YVU12 4:2:0 Planar"); //As YV12, except the U and V planes each have the same stride as the Y plane
|
|
break;
|
|
case IMC2Handler:
|
|
sCodecName = _T("Uncompressed YVU12 4:2:0 Planar"); //Similar to IMC1, except that the U and V lines are interleaved at half stride boundaries
|
|
break;
|
|
case IMC3Handler:
|
|
sCodecName = _T("Uncompressed YUV12 4:2:0 Planar"); //As IMC1, except that U and V are swapped
|
|
break;
|
|
case IMC4Handler:
|
|
sCodecName = _T("Uncompressed YUV12 4:2:0 Planar"); //As IMC2, except that U and V are swapped
|
|
break;
|
|
case IPDVHandler:
|
|
sCodecName = _T("Giga AVI DV Codec");
|
|
break;
|
|
case IR21Handler:
|
|
sCodecName = _T("Intel Indeo 2.1");
|
|
break;
|
|
case IRAWHandler:
|
|
sCodecName = _T("Intel YUV Uncompressed");
|
|
break;
|
|
case ISMEHandler:
|
|
sCodecName = _T("Intel's next-generation video codec");
|
|
break;
|
|
case IUYVHandler:
|
|
sCodecName = _T("Interlaced UYVY Uncompressed"); //(line order 0,2,4 then 1,3,5 etc)
|
|
break;
|
|
case IV30Handler:
|
|
sCodecName = _T("Intel Indeo Video 3");
|
|
break;
|
|
case IV31Handler:
|
|
sCodecName = _T("Intel Indeo Video 3.1");
|
|
break;
|
|
case IV32Handler:
|
|
sCodecName = _T("Intel Indeo Video 3.2");
|
|
break;
|
|
case IV33Handler:
|
|
sCodecName = _T("Intel Indeo Video 3.3");
|
|
break;
|
|
case IV34Handler:
|
|
sCodecName = _T("Intel Indeo Video 3.4");
|
|
break;
|
|
case IV35Handler:
|
|
sCodecName = _T("Intel Indeo Video 3.5");
|
|
break;
|
|
case IV36Handler:
|
|
sCodecName = _T("Intel Indeo Video 3.6");
|
|
break;
|
|
case IV37Handler:
|
|
sCodecName = _T("Intel Indeo Video 3.7");
|
|
break;
|
|
case IV38Handler:
|
|
sCodecName = _T("Intel Indeo Video 3.8");
|
|
break;
|
|
case IV39Handler:
|
|
sCodecName = _T("Intel Indeo Video 3.9");
|
|
break;
|
|
case IV40Handler:
|
|
sCodecName = _T("Intel Indeo Video 4.0");
|
|
break;
|
|
case IV41Handler:
|
|
sCodecName = _T("Intel Indeo Video 4.1");
|
|
break;
|
|
case IV42Handler:
|
|
sCodecName = _T("Intel Indeo Video 4.2");
|
|
break;
|
|
case IV43Handler:
|
|
sCodecName = _T("Intel Indeo Video 4.3");
|
|
break;
|
|
case IV44Handler:
|
|
sCodecName = _T("Intel Indeo Video 4.4");
|
|
break;
|
|
case IV45Handler:
|
|
sCodecName = _T("Intel Indeo Video 4.5");
|
|
break;
|
|
case IV46Handler:
|
|
sCodecName = _T("Intel Indeo Video 4.6");
|
|
break;
|
|
case IV47Handler:
|
|
sCodecName = _T("Intel Indeo Video 4.7");
|
|
break;
|
|
case IV48Handler:
|
|
sCodecName = _T("Intel Indeo Video 4.8");
|
|
break;
|
|
case IV49Handler:
|
|
sCodecName = _T("Intel Indeo Video 4.9");
|
|
break;
|
|
case IV50Handler:
|
|
sCodecName = _T("Intel Indeo Video 5.0 Wavelet");
|
|
break;
|
|
case IY41Handler:
|
|
sCodecName = _T("Interlaced Conexant YUV 4:1:1 Raw"); //(line order 0,2,4,...,1,3,5...)
|
|
break;
|
|
case IYU1Handler:
|
|
sCodecName = _T("12 bit format"); //used in mode 2 of the IEEE 1394 Digital Camera 1.04 spec
|
|
break;
|
|
case IYU2Handler:
|
|
sCodecName = _T("24 bit format"); //used in mode 2 of the IEEE 1394 Digital Camera 1.04 spec
|
|
break;
|
|
case IYUVHandler:
|
|
sCodecName = _T("Intel Indeo iYUV 4:2:0");
|
|
break;
|
|
case JBYRHandler:
|
|
sCodecName = _T("Kensington Video Codec");
|
|
break;
|
|
case JFIFHandler:
|
|
sCodecName = _T("Motion JPEG (FFmpeg)");
|
|
break;
|
|
case JPEGHandler:
|
|
sCodecName = _T("Still Image JPEG DIB");
|
|
break;
|
|
case JPGLHandler:
|
|
sCodecName = _T("DIVIO JPEG Light for WebCams (Pegasus Lossless JPEG)");
|
|
break;
|
|
case KMVCHandler:
|
|
sCodecName = _T("Karl Morton Video Codec");
|
|
break;
|
|
case KPCDHandler:
|
|
sCodecName = _T("Photo CD");
|
|
break;
|
|
case L261Handler:
|
|
sCodecName = _T("Lead Technologies H.261");
|
|
break;
|
|
case L263Handler:
|
|
sCodecName = _T("Lead Technologies H.263");
|
|
break;
|
|
case LCMWHandler:
|
|
sCodecName = _T("Lead Technologies Motion CMW Codec");
|
|
break;
|
|
case LEADHandler:
|
|
sCodecName = _T("Proprietary MCMP compression");
|
|
break;
|
|
case LGRYHandler:
|
|
sCodecName = _T("Lead Technologies Grayscale Image");
|
|
break;
|
|
case LIA1Handler:
|
|
sCodecName = _T("Liafail");
|
|
break;
|
|
case LJPGHandler:
|
|
sCodecName = _T("Lossless JPEG compression");
|
|
break;
|
|
case LSV0Handler:
|
|
bNotFound=TRUE;
|
|
break;
|
|
case LSVCHandler:
|
|
sCodecName = _T("Infinop Lightning Strike Codec"); //Infinop Lightning Strike constant bit rate video codec
|
|
break;
|
|
case LSVMHandler:
|
|
sCodecName = _T("Vianet Lighting Strike Vmail"); //(Streaming)
|
|
break;
|
|
case LSVWHandler:
|
|
sCodecName = _T("Infinop Lightning Strike Codec"); //Infinop Lightning Strike multiple bit rate video codec
|
|
break;
|
|
case LZO1Handler:
|
|
sCodecName = _T("LZO compressed"); //(lossless codec)
|
|
break;
|
|
case M101Handler:
|
|
sCodecName = _T("Uncompressed field-based YUY2");
|
|
break;
|
|
case M261Handler:
|
|
sCodecName = _T("Microsoft H.261");
|
|
break;
|
|
case M263Handler:
|
|
sCodecName = _T("Microsoft H.263");
|
|
break;
|
|
case M4S2Handler:
|
|
sCodecName = _T("Microsoft MPEG-4"); //(hacked MS MPEG-4)
|
|
break;
|
|
case MC12Handler:
|
|
sCodecName = _T("ATI Motion Compensation Format");
|
|
break;
|
|
case MC24Handler:
|
|
sCodecName = _T("MainConcept Motion JPEG Codec");
|
|
break;
|
|
case MCAMHandler:
|
|
sCodecName = _T("ATI Motion Compensation Format");
|
|
break;
|
|
case MDVDHandler:
|
|
sCodecName = _T("Alex MicroDVD Video"); //(hacked MS MPEG-4)
|
|
break;
|
|
case MJ2CHandler:
|
|
sCodecName = _T("Morgan Multimedia JPEG2000 Compression");
|
|
break;
|
|
case MJP2Handler:
|
|
sCodecName = _T("JPEG2000 Compression");
|
|
break;
|
|
case MJPAHandler:
|
|
sCodecName = _T("Pinnacle Motion JPEG"); //with Alpha-channel
|
|
break;
|
|
case MJPBHandler:
|
|
sCodecName = _T("Motion JPEG Codec");
|
|
break;
|
|
case MJPGHandler:
|
|
sCodecName = _T("IBM Motion JPEG"); //including Huffman Tables
|
|
break;
|
|
case MMESHandler:
|
|
sCodecName = _T("Matrox MPEG-2");
|
|
break;
|
|
case MMIFHandler:
|
|
sCodecName = _T("Matrox MPEG-2 I-frame");
|
|
break;
|
|
case MP2AHandler:
|
|
sCodecName = _T("Media Excel MPEG-2 Audio");
|
|
break;
|
|
case MP2THandler:
|
|
sCodecName = _T("Media Excel MPEG-2 Transport Stream");
|
|
break;
|
|
case MP2VHandler:
|
|
sCodecName = _T("Media Excel MPEG-2 Video");
|
|
break;
|
|
case MP41Handler:
|
|
sCodecName = _T("Microsoft MPEG-4 V1"); //(enhansed H263)
|
|
break;
|
|
case MP42Handler:
|
|
sCodecName = _T("Microsoft MPEG-4 V2");
|
|
break;
|
|
case MP43Handler:
|
|
sCodecName = _T("Microsoft MPEG-4 V3");
|
|
break;
|
|
case MP4AHandler:
|
|
sCodecName = _T("Media Excel MPEG-4 Audio");
|
|
break;
|
|
case MP4SHandler:
|
|
sCodecName = _T("Microsoft MPEG-4"); //(Windows Media 7.0)
|
|
break;
|
|
case MP4THandler:
|
|
sCodecName = _T("Media Excel MPEG-4 Transport Stream");
|
|
break;
|
|
case MP4VHandler:
|
|
sCodecName = _T("Microsoft MPEG-4"); //(hacked MS MPEG-4)
|
|
break;
|
|
case MPEGHandler:
|
|
sCodecName = _T("MPEG Video"); //Chromatic MPEG-1 Video I Frame
|
|
break;
|
|
case MPG1Handler:
|
|
sCodecName = _T("MPEG-1");
|
|
break;
|
|
case MPG2Handler:
|
|
sCodecName = _T("MPEG-2");
|
|
break;
|
|
case MPG3Handler:
|
|
sCodecName = _T("Lowmotion DivX MPEG-4"); //Same as
|
|
break;
|
|
case MPG4Handler:
|
|
sCodecName = _T("Microsoft MPEG-4 V1");
|
|
break;
|
|
case MPGIHandler:
|
|
sCodecName = _T("Sigma Design MPEG-1 I-frame");
|
|
break;
|
|
case MPNGHandler:
|
|
sCodecName = _T("Motion PNG Codec");
|
|
break;
|
|
case MRCAHandler:
|
|
sCodecName = _T("FAST Multimedia MR Codec");
|
|
break;
|
|
case MRLEHandler:
|
|
sCodecName = _T("Microsoft Run Length Encoding");
|
|
break;
|
|
// case MSxxHandler: //Reserved
|
|
case MSS1Handler:
|
|
sCodecName = _T("Windows Media Screen V7");
|
|
break;
|
|
case MSS2Handler:
|
|
sCodecName = _T("Windows Media Video 9 Screen");
|
|
break;
|
|
case MSV1Handler:
|
|
sCodecName = _T("Microsoft Video Codec V1");
|
|
break;
|
|
case MSVCHandler:
|
|
sCodecName = _T("Microsoft Video 1");
|
|
break;
|
|
case MSZHHandler:
|
|
sCodecName = _T("Lossless Codec"); //(ZIP compression)
|
|
break;
|
|
case MTGAHandler:
|
|
sCodecName = _T("Motion TGA images"); //(24, 32 bpp)
|
|
break;
|
|
case MTX1Handler:
|
|
case MTX2Handler:
|
|
case MTX3Handler:
|
|
case MTX4Handler:
|
|
case MTX5Handler:
|
|
case MTX6Handler:
|
|
case MTX7Handler:
|
|
case MTX8Handler:
|
|
case MTX9Handler:
|
|
sCodecName = _T("Matrox Motion-JPEG Codec");
|
|
break;
|
|
case MV10Handler:
|
|
case MV11Handler:
|
|
case MV12Handler:
|
|
sCodecName = _T("Nokia MVC Video Codec");
|
|
break;
|
|
case MV99Handler:
|
|
sCodecName = _T("Nokia MVC Video Codec");
|
|
break;
|
|
case MVC1Handler:
|
|
case MVC2Handler:
|
|
sCodecName = _T("Nokia MVC Video Codec");
|
|
break;
|
|
case MVC9Handler:
|
|
sCodecName = _T("Nokia MVC Video Codec");
|
|
break;
|
|
case MWV1Handler:
|
|
sCodecName = _T("Aware Motion Wavelets");
|
|
break;
|
|
case MYUVHandler:
|
|
sCodecName = _T("MPEG YUV420");
|
|
break;
|
|
case NAVIHandler:
|
|
sCodecName = _T("nAVI Video Codec"); //(hacked MS MPEG-4)
|
|
break;
|
|
case NHVUHandler:
|
|
sCodecName = _T("NVidia Texture Format"); //(GEForce 3)
|
|
break;
|
|
case NT00Handler:
|
|
sCodecName = _T("NewTek LigtWave HDTV YUV with Alpha-channel");
|
|
break;
|
|
case NTN1Handler:
|
|
sCodecName = _T("Nogatech Video Compression 1");
|
|
break;
|
|
case NUV1Handler:
|
|
sCodecName = _T("NuppelVideo");
|
|
break;
|
|
case NV12Handler:
|
|
sCodecName = _T("Uncompressed YUV planar"); //8-bit Y plane followed by an interleaved U/V plane with 2x2 subsampling
|
|
break;
|
|
case NV21Handler:
|
|
sCodecName = _T("Uncompressed YUV planar"); //As NV12 with U and V reversed in the interleaved plane
|
|
break;
|
|
case NVDSHandler:
|
|
sCodecName = _T("nVidia Texture Format");
|
|
break;
|
|
case NVHSHandler:
|
|
sCodecName = _T("NVidia Texture Format"); //(GEForce 3)
|
|
break;
|
|
case NVHUHandler:
|
|
sCodecName = _T("NVidia Texture Format");
|
|
break;
|
|
case NVS0Handler:
|
|
case NVS1Handler:
|
|
case NVS2Handler:
|
|
case NVS3Handler:
|
|
case NVS4Handler:
|
|
case NVS5Handler:
|
|
case NVS6Handler:
|
|
case NVS7Handler:
|
|
case NVS8Handler:
|
|
case NVS9Handler:
|
|
sCodecName = _T("nVidia Texture Compression Format");
|
|
break;
|
|
case NVT0Handler:
|
|
case NVT1Handler:
|
|
case NVT2Handler:
|
|
case NVT3Handler:
|
|
case NVT4Handler:
|
|
case NVT5Handler:
|
|
case NVT6Handler:
|
|
case NVT7Handler:
|
|
case NVT8Handler:
|
|
case NVT9Handler:
|
|
sCodecName = _T("nVidia Texture Compression Format");
|
|
break;
|
|
case NY12Handler:
|
|
sCodecName = _T("Nogatech YUV 12 format");
|
|
break;
|
|
case NYUVHandler:
|
|
sCodecName = _T("Nogatech YUV 422 format");
|
|
break;
|
|
case PATHHandler:
|
|
sCodecName = _T("Vector");
|
|
break;
|
|
case PCL2Handler:
|
|
sCodecName = _T("Pinnacle RL Video Codec");
|
|
break;
|
|
case PCLEHandler:
|
|
sCodecName = _T("Studio 400 Video Codec");
|
|
break;
|
|
case PDVCHandler:
|
|
sCodecName = _T("Panasonic DV Codec");
|
|
break;
|
|
case PGVVHandler:
|
|
sCodecName = _T("Radius Video Vision Telecast"); //(adaptive JPEG)
|
|
break;
|
|
case PHMOHandler:
|
|
sCodecName = _T("IBM Photomotion");
|
|
break;
|
|
case PIM1Handler:
|
|
sCodecName = _T("Pegasus Imaging MPEG-1 Codec");
|
|
break;
|
|
case PIM2Handler:
|
|
sCodecName = _T("Pegasus Imaging Codec");
|
|
break;
|
|
case PIMJHandler:
|
|
sCodecName = _T("Pegasus Imaging PICvideo Lossless JPEG");
|
|
break;
|
|
case PIXLHandler:
|
|
sCodecName = _T("MiroVideo XL"); //(Motion JPEG)
|
|
break;
|
|
case PNGHandler:
|
|
sCodecName = _T("Png image");
|
|
break;
|
|
case PNTGHandler:
|
|
sCodecName = _T("Mac paint");
|
|
break;
|
|
case PVEZHandler:
|
|
sCodecName = _T("Horizons Technology PowerEZ Codec");
|
|
break;
|
|
case PVMMHandler:
|
|
sCodecName = _T("PacketVideo Corporation MPEG-4");
|
|
break;
|
|
case PVW2Handler:
|
|
sCodecName = _T("Pegasus Imaging Wavelet 2000");
|
|
break;
|
|
case PXLTHandler:
|
|
sCodecName = _T("Pixlet");
|
|
break;
|
|
case Q1_0Handler:
|
|
sCodecName = _T("Q-Team QPEG 1.0");
|
|
break;
|
|
case QDRWHandler:
|
|
sCodecName = _T("Quick draw");
|
|
break;
|
|
case QDGXHandler:
|
|
sCodecName = _T("Quick draw GX");
|
|
break;
|
|
case QPEGHandler:
|
|
sCodecName = _T("Q-Team QPEG 1.1");
|
|
break;
|
|
case QPEQHandler:
|
|
sCodecName = _T("Q-Team QPEG 1.1");
|
|
break;
|
|
case R408Handler:
|
|
sCodecName = _T("Uncompressed YCbCrA"); //Component Y'CbCrA 8-bit 4:4:4:4, rendering format. full range alpha, zero biased yuv (4444YpCbCrA8R)
|
|
break;
|
|
case RAWHandler:
|
|
sCodecName = _T("Uncompressed");
|
|
break;
|
|
case RGBHandler:
|
|
sCodecName = _T("Uncompressed");
|
|
break;
|
|
case RGB1Handler:
|
|
sCodecName = _T("Uncompressed"); //RGB332 3:3:2
|
|
break;
|
|
case RGBAHandler:
|
|
sCodecName = _T("Raw RGB with alpha");
|
|
break;
|
|
case RGBOHandler:
|
|
sCodecName = _T("Uncompressed"); //RGB555 5:5:5
|
|
break;
|
|
case RGBPHandler:
|
|
sCodecName = _T("Uncompressed"); //RGB565 5:6:5
|
|
break;
|
|
case RGBQHandler:
|
|
sCodecName = _T("Uncompressed"); //RGB555X 5:5:5 BE
|
|
break;
|
|
case RGBRHandler:
|
|
sCodecName = _T("Uncompressed"); //RGB565X 5:6:5 BE
|
|
break;
|
|
case RGBTHandler:
|
|
sCodecName = _T("Uncompressed RGB"); //with transparency
|
|
break;
|
|
case RIPLHandler:
|
|
sCodecName = _T("Water ripple");
|
|
break;
|
|
case RIVAHandler:
|
|
sCodecName = _T("Swizzled texture format");
|
|
break;
|
|
case RPZAHandler: //Video
|
|
bNotFound=TRUE;
|
|
break;
|
|
case RLE4Handler:
|
|
sCodecName = _T("Raw RGB image"); //Run length encoded 4bpp
|
|
break;
|
|
case RLE8Handler:
|
|
sCodecName = _T("Raw RGB image"); //Run length encoded 8bpp
|
|
break;
|
|
case RLEHandler:
|
|
sCodecName = _T("Raw RGB"); //with arbitrary sample packing within a pixel
|
|
break;
|
|
case RLNDHandler:
|
|
bNotFound=TRUE;
|
|
break;
|
|
case RT21Handler:
|
|
sCodecName = _T("Intel Indeo 2.1");
|
|
break;
|
|
case RVXHandler:
|
|
sCodecName = _T("Intel RDX");
|
|
break;
|
|
case RMP4Handler:
|
|
sCodecName = _T("REALmagic MPEG-4 Video Codec"); //(Sigma Design, built on XviD)
|
|
break;
|
|
case ROQVHandler:
|
|
sCodecName = _T("Id RoQ File Video Decoder");
|
|
break;
|
|
case S263Handler:
|
|
sCodecName = _T("Sorenson Vision H.263");
|
|
break;
|
|
case SMCHandler:
|
|
sCodecName = _T("Graphics");
|
|
break;
|
|
case SMYKHandler:
|
|
sCodecName = _T("CMYK");
|
|
break;
|
|
case SP53Handler:
|
|
case SP54Handler:
|
|
case SP55Handler:
|
|
case SP56Handler:
|
|
case SP57Handler:
|
|
case SP58Handler:
|
|
sCodecName = _T("SunPlus Aiptek MegaCam Codec");
|
|
break;
|
|
case SPIGHandler:
|
|
sCodecName = _T("Radius Spigot");
|
|
break;
|
|
case SPLCHandler:
|
|
sCodecName = _T("Splash Studios ACM Audio Codec");
|
|
break;
|
|
case SQZ2Handler:
|
|
sCodecName = _T("Microsoft VXTreme Video Codec V2");
|
|
break;
|
|
case STVAHandler:
|
|
sCodecName = _T("ST CMOS Imager Data"); //(Bayer)
|
|
break;
|
|
case STVBHandler:
|
|
sCodecName = _T("ST CMOS Imager Data"); //(Nudged Bayer)
|
|
break;
|
|
case STVCHandler:
|
|
sCodecName = _T("ST CMOS Imager Data"); //(Bunched)
|
|
break;
|
|
case STVXHandler:
|
|
sCodecName = _T("ST CMOS Imager Data"); //(Extended)
|
|
break;
|
|
case STVYHandler:
|
|
sCodecName = _T("ST CMOS Imager Data"); //(Extended with Correction Data)
|
|
break;
|
|
case SV10Handler:
|
|
sCodecName = _T("Sorenson Media Video R1");
|
|
break;
|
|
case SVQ1Handler:
|
|
sCodecName = _T("Sorenson Video"); //(Apple Quicktime 3)
|
|
break;
|
|
case SVQ3Handler:
|
|
sCodecName = _T("Sorenson Video 3"); //(Apple Quicktime 5)
|
|
break;
|
|
case SWC1Handler:
|
|
sCodecName = _T("MainConcept Motion JPEG Codec");
|
|
break;
|
|
case SYV9Handler:
|
|
sCodecName = _T("Sorenson YUV9");
|
|
break;
|
|
case T420Handler:
|
|
sCodecName = _T("Toshiba YUV 4:2:0");
|
|
break;
|
|
case TGAHandler:
|
|
sCodecName = _T("Targa image");
|
|
break;
|
|
case TIFFHandler:
|
|
sCodecName = _T("Tiff image");
|
|
break;
|
|
case TIM2Handler:
|
|
sCodecName = _T("Pinnacle RAL DVI");
|
|
break;
|
|
case TLMSHandler:
|
|
sCodecName = _T("TeraLogic Motion Infraframe Codec A");
|
|
break;
|
|
case TLSTHandler:
|
|
sCodecName = _T("TeraLogic Motion Infraframe Codec B");
|
|
break;
|
|
case TM20Handler:
|
|
sCodecName = _T("Duck TRUEMotion 2.0");
|
|
break;
|
|
case TM2AHandler:
|
|
sCodecName = _T("Duck TRUEMotion Archiver 2.0");
|
|
break;
|
|
case TM2XHandler:
|
|
sCodecName = _T("Duck TRUEMotion 2X");
|
|
break;
|
|
case TMICHandler:
|
|
sCodecName = _T("TeraLogic Motion Intraframe Codec 2");
|
|
break;
|
|
case TMOTHandler:
|
|
sCodecName = _T("TRUEMotion Video Compression");
|
|
break;
|
|
case TR20Handler:
|
|
sCodecName = _T("Duck TRUEMotion RT 2.0");
|
|
break;
|
|
case TSCCHandler:
|
|
sCodecName = _T("TechSmith Screen Capture Codec");
|
|
break;
|
|
case TV10Handler:
|
|
sCodecName = _T("Tecomac Low-Bit Rate Codec");
|
|
break;
|
|
case TVJPHandler:
|
|
sCodecName = _T("TRUEVision Field Encoded Motion JPEG"); //(Targa emulation)
|
|
break;
|
|
case TVMJHandler:
|
|
sCodecName = _T("TRUEVision Field Encoded Motion JPEG"); //(Targa emulation)
|
|
break;
|
|
case TY0NHandler:
|
|
sCodecName = _T("Trident Decompression Driver");
|
|
break;
|
|
case TY2CHandler:
|
|
sCodecName = _T("Trident Decompression Driver");
|
|
break;
|
|
case TY2NHandler:
|
|
sCodecName = _T("Trident Decompression Driver");
|
|
break;
|
|
case U263Handler:
|
|
sCodecName = _T("UB Video StreamForce H.263");
|
|
break;
|
|
case UCODHandler:
|
|
sCodecName = _T("ClearVideo"); //(fractal compression-based codec)
|
|
break;
|
|
case ULTIHandler:
|
|
sCodecName = _T("IBM Corp. Ultimotion");
|
|
break;
|
|
case UMP4Handler:
|
|
sCodecName = _T("UB Video MPEG 4");
|
|
break;
|
|
case UYNVHandler:
|
|
sCodecName = _T("Uncompressed YUV 4:2:2"); //A direct copy of UYVY registered by nVidiato work around problems in some old codecs which did not like hardware that offered more than 2 UYVY surfaces
|
|
break;
|
|
case UYVPHandler:
|
|
sCodecName = _T("Uncompressed YCbCr 4:2:2"); //YCbCr 4:2:2 extended precision 10-bits per component in U0Y0V0Y1 order
|
|
break;
|
|
case UYVYHandler:
|
|
sCodecName = _T("Uncompressed YUV 4:2:2"); //(Y sample at every pixel, U and V sampled at every second pixel horizontally on each line)
|
|
break;
|
|
case V210Handler:
|
|
sCodecName = _T("Uncompressed YCbCr"); //Component Y'CbCr 10-bit 4:2:2 (422YpCbCr10)
|
|
break;
|
|
case V216Handler:
|
|
sCodecName = _T("Uncompressed YCbCr"); //Component Y'CbCr 10,12,14,16-bit 4:2:2 (422YpCbCr16)
|
|
break;
|
|
case V261Handler:
|
|
sCodecName = _T("Lucent VX3000S Video Codec");
|
|
break;
|
|
case V308Handler:
|
|
sCodecName = _T("Uncompressed YCbCr"); //Component Y'CbCr 8-bit 4:4:4 (444YpCbCr8)
|
|
break;
|
|
case V408Handler:
|
|
sCodecName = _T("Uncompressed YCbCr"); //Component Y'CbCrA 8-bit 4:4:4:4 (4444YpCbCrA8)
|
|
break;
|
|
case V410Handler:
|
|
sCodecName = _T("Uncompressed YCbCr"); //Component Y'CbCr 10-bit 4:4:4 (444YpCbCr10)
|
|
break;
|
|
case V422Handler:
|
|
sCodecName = _T("Vitec Multimedia YUV 4:2:2"); //as for UYVY, but with different component ordering within the u_int32 macropixel
|
|
break;
|
|
case V655Handler:
|
|
sCodecName = _T("Vitec Multimedia YUV 4:2:2"); //16 bit (6:5:5) format
|
|
break;
|
|
case VCR1Handler:
|
|
sCodecName = _T("ATI VCR 1.0");
|
|
break;
|
|
case VCR2Handler:
|
|
sCodecName = _T("ATI VCR 2.0"); //(MPEG YV12)
|
|
break;
|
|
case VCR3Handler:
|
|
sCodecName = _T("ATI VCR 3.0");
|
|
break;
|
|
case VCR4Handler:
|
|
sCodecName = _T("ATI VCR 4.0");
|
|
break;
|
|
case VCR5Handler:
|
|
sCodecName = _T("ATI VCR 5.0");
|
|
break;
|
|
case VCR6Handler:
|
|
sCodecName = _T("ATI VCR 6.0");
|
|
break;
|
|
case VCR7Handler:
|
|
sCodecName = _T("ATI VCR 7.0");
|
|
break;
|
|
case VCR8Handler:
|
|
sCodecName = _T("ATI VCR 8.0");
|
|
break;
|
|
case VCR9Handler:
|
|
sCodecName = _T("ATI VCR 9.0");
|
|
break;
|
|
case VDCTHandler:
|
|
sCodecName = _T("Video Maker Pro DIB");
|
|
break;
|
|
case VDOMHandler:
|
|
sCodecName = _T("VDOnet VDOWave");
|
|
break;
|
|
case VDOWHandler:
|
|
sCodecName = _T("VDOLive (H.263)");
|
|
break;
|
|
case VDSTHandler:
|
|
sCodecName = _T("VirtualDub remote frameclient ICM driver");
|
|
break;
|
|
case VDTZHandler:
|
|
sCodecName = _T("Darim Vision VideoTizer YUV");
|
|
break;
|
|
case VGPXHandler:
|
|
sCodecName = _T("Alaris VideoGramPixel Codec");
|
|
break;
|
|
case VIDSHandler:
|
|
sCodecName = _T("Vitec Multimedia YUV 4:2:2 Codec");
|
|
break;
|
|
case VIFPHandler:
|
|
sCodecName = _T("Virtual Frame API Codec"); //(VFAPI)
|
|
break;
|
|
case VIV1Handler:
|
|
sCodecName = _T("Vivo H.263");
|
|
break;
|
|
case VIV2Handler:
|
|
sCodecName = _T("Vivo H.263");
|
|
break;
|
|
case VIVOHandler:
|
|
sCodecName = _T("Vivo H.263");
|
|
break;
|
|
case VIXLHandler:
|
|
sCodecName = _T("MiroVideo XL"); //(Motion JPEG)
|
|
break;
|
|
case VLV1Handler:
|
|
sCodecName = _T("VideoLogic Codec");
|
|
break;
|
|
case VP30Handler:
|
|
sCodecName = _T("VP3@ Compressor"); //On2 (ex Duck TRUEMotion)
|
|
break;
|
|
case VP31Handler:
|
|
sCodecName = _T("VP31@ Compressor"); //On2 (ex Duck TRUEMotion)
|
|
break;
|
|
case VP60Handler:
|
|
sCodecName = _T("VP60@ Simple Profile"); //On2
|
|
break;
|
|
case VP61Handler:
|
|
sCodecName = _T("VP61@ Advanced Profile"); //On2
|
|
break;
|
|
case VP62Handler:
|
|
sCodecName = _T("VP62@ Heightened Sharpness Profile"); //On2
|
|
break;
|
|
case VQC1Handler:
|
|
case VQC2Handler:
|
|
bNotFound=TRUE;
|
|
break;
|
|
case VQJPHandler:
|
|
sCodecName = _T("VQ630 dual-mode digital camera");
|
|
break;
|
|
case VQS4Handler:
|
|
sCodecName = _T("VQ110 digital video camera");
|
|
break;
|
|
case VSSVHandler:
|
|
sCodecName = _T("Vanguard Software Solutions Video Codec");
|
|
break;
|
|
case VTC1Handler:
|
|
case VTC2Handler:
|
|
case VTC3Handler:
|
|
case VTC4Handler:
|
|
case VTC5Handler:
|
|
case VTC6Handler:
|
|
case VTC7Handler:
|
|
case VTC8Handler:
|
|
case VTC9Handler:
|
|
bNotFound=TRUE;
|
|
break;
|
|
case VTLPHandler:
|
|
sCodecName = _T("Alaris VideoGramPixel Codec");
|
|
break;
|
|
case VUY2Handler:
|
|
sCodecName = _T("Uncompressed YCbCr"); //Component Y'CbCr 8-bit 4:2:2 (422YpCbCr8)
|
|
break;
|
|
case VX1KHandler:
|
|
sCodecName = _T("Lucent VX1000S Video Codec");
|
|
break;
|
|
case VX2KHandler:
|
|
sCodecName = _T("Lucent VX2000S Video Codec");
|
|
break;
|
|
case VXSPHandler:
|
|
sCodecName = _T("Lucent VX1000SP Video Codec");
|
|
break;
|
|
case VYU9Handler:
|
|
sCodecName = _T("ATI Technologies YUV");
|
|
break;
|
|
case VYUYHandler:
|
|
sCodecName = _T("ATI Packed YUV Data");
|
|
break;
|
|
case WBVCHandler:
|
|
sCodecName = _T("Winbond W9960 Codec");
|
|
break;
|
|
case WHAMHandler:
|
|
sCodecName = _T("Microsoft Video 1");
|
|
break;
|
|
case WINXHandler:
|
|
sCodecName = _T("Winnov Software Compression");
|
|
break;
|
|
case WJPGHandler:
|
|
sCodecName = _T("Winbond JPEG"); //(AverMedia USB devices)
|
|
break;
|
|
case WMS2Handler:
|
|
bNotFound=TRUE;
|
|
break;
|
|
case WMV1Handler:
|
|
sCodecName = _T("Windows Media Video V7");
|
|
break;
|
|
case WMV2Handler:
|
|
sCodecName = _T("Windows Media Video V8");
|
|
break;
|
|
case WMV3Handler:
|
|
sCodecName = _T("Windows Media Video 9");
|
|
break;
|
|
case WMVAHandler:
|
|
sCodecName = _T("Windows Media Video 9 Advanced Profile");
|
|
break;
|
|
case WNV1Handler:
|
|
sCodecName = _T("WinNow Videum Hardware Compression");
|
|
break;
|
|
case WNVAHandler:
|
|
sCodecName = _T("Winnov hw compress");
|
|
break;
|
|
case WPY2Handler:
|
|
bNotFound=TRUE;
|
|
break;
|
|
case WRAWHandler:
|
|
sCodecName = _T("Windows Raw");
|
|
break;
|
|
case WRLEHandler:
|
|
sCodecName = _T("BMP image");
|
|
break;
|
|
case WRPRHandler:
|
|
sCodecName = _T("VideoTools VideoServer Client Codec"); //(wrapper for AviSynth)
|
|
break;
|
|
case WVC1Handler:
|
|
sCodecName = _T("Windows Media Video 9 Advanced Profile");
|
|
break;
|
|
case WMVPHandler:
|
|
sCodecName = _T("Windows Media Video 9 Image");
|
|
break;
|
|
case WVP1Handler:
|
|
sCodecName = _T("Windows Media Video 9 Image v1");
|
|
break;
|
|
case WVP2Handler:
|
|
sCodecName = _T("Windows Media Video 9 Image v2");
|
|
break;
|
|
// case WSxxHandler:
|
|
case WZCDHandler:
|
|
sCodecName = _T("iScan");
|
|
break;
|
|
case WZDCHandler:
|
|
sCodecName = _T("iSnap");
|
|
break;
|
|
case X263Handler:
|
|
sCodecName = _T("Xirlink H.263");
|
|
break;
|
|
case X264Handler:
|
|
sCodecName = _T("H.264 Video");
|
|
break;
|
|
case XLV0Handler:
|
|
sCodecName = _T("NetXL Inc. XL Video Decoder");
|
|
break;
|
|
case XJPGHandler:
|
|
sCodecName = _T("Xirlink JPEG"); //-like compressor
|
|
break;
|
|
case XMPGHandler:
|
|
sCodecName = _T("XING MPEG (I frame only)");
|
|
break;
|
|
case XVIDHandler:
|
|
sCodecName = _T("Xvid MPEG-4 Codec");
|
|
break;
|
|
case XVIXHandler:
|
|
sCodecName = _T("Xvid MPEG-4 Codec"); //Based on
|
|
break;
|
|
case XWV0Handler:
|
|
case XWV1Handler:
|
|
case XWV2Handler:
|
|
sCodecName = _T("XiWave Video Codec");
|
|
break;
|
|
case XWV3Handler:
|
|
sCodecName = _T("XiWave Video Codec (Xi-3 Video)");
|
|
break;
|
|
case XWV4Handler:
|
|
case XWV5Handler:
|
|
case XWV6Handler:
|
|
case XWV7Handler:
|
|
case XWV8Handler:
|
|
case XWV9Handler:
|
|
sCodecName = _T("XiWave Video Codec");
|
|
break;
|
|
case XXANHandler:
|
|
sCodecName = _T("Origin Video Codec"); //(used in Wing Commander 3 and 4)
|
|
break;
|
|
case Y211Handler:
|
|
sCodecName = _T("Packed YUV format"); //with Y sampled at every second pixel across each line and U and V sampled at every fourth pixel
|
|
break;
|
|
case Y411Handler:
|
|
sCodecName = _T("Uncompressed YUV 4:1:1 Packed");
|
|
break;
|
|
case Y41BHandler:
|
|
sCodecName = _T("Uncompressed YUV 4:1:1 Planar");
|
|
break;
|
|
case Y41PHandler:
|
|
sCodecName = _T("Conexant YUV 4:1:1 Raw"); //(ex Brooktree)
|
|
break;
|
|
case Y41THandler:
|
|
sCodecName = _T("Conexant YUV 4:1:1 Raw"); //but the lsb of each Y component is used to signal pixel transparency
|
|
break;
|
|
case Y420Handler:
|
|
sCodecName = _T("Uncompressed YUV 4:2:0");
|
|
break;
|
|
case Y422Handler:
|
|
sCodecName = _T("Uncompressed YUV 4:2:2"); //Direct copy of UYVY as used by ADS Technologies Pyro WebCam firewire camera
|
|
break;
|
|
case Y42BHandler:
|
|
sCodecName = _T("Uncompressed YUV 4:2:2 Planar");
|
|
break;
|
|
case Y42THandler:
|
|
sCodecName = _T("Uncompressed YUV 4:2:2"); //Format as for UYVY, but the lsb of each Y component is used to signal pixel transparency
|
|
break;
|
|
case Y800Handler:
|
|
sCodecName = _T("Simple grayscale video");
|
|
break;
|
|
case Y8Handler:
|
|
sCodecName = _T("Simple grayscale video");
|
|
break;
|
|
case YC12Handler:
|
|
sCodecName = _T("Intel YUV12 Codec");
|
|
break;
|
|
case YCCKHandler:
|
|
sCodecName = _T("Uncompressed YCbCr video"); //with key data
|
|
break;
|
|
case YU92Handler:
|
|
sCodecName = _T("YUV format");
|
|
break;
|
|
case YUNVHandler:
|
|
sCodecName = _T("Uncompressed YUV 4:2:2"); //A direct copy of YUY2 registered by nVidia to work around problems in some old codecs which did not like hardware that offered more than 2 YUY2 surfaces
|
|
break;
|
|
case YUV2Handler:
|
|
sCodecName = _T("Uncompressed YUV"); //Component
|
|
break;
|
|
case YUV8Handler:
|
|
sCodecName = _T("Winnov Caviar YUV8");
|
|
break;
|
|
case YUV9Handler:
|
|
sCodecName = _T("Intel YUV9");
|
|
break;
|
|
case YUVPHandler:
|
|
sCodecName = _T("Uncompressed YCbCr 4:2:2"); //extended precision 10-bits per component in Y0U0Y1V0 order
|
|
break;
|
|
case YUY2Handler:
|
|
sCodecName = _T("Uncompressed YUV 4:2:2"); //as for UYVY but with different component ordering within the u_int32 macropixel
|
|
break;
|
|
case YUVSHandler:
|
|
sCodecName = _T("Uncompressed YUV"); //Component unsigned
|
|
break;
|
|
case YUVUHandler:
|
|
sCodecName = _T("Uncompressed YUV"); //Component signed
|
|
break;
|
|
case YUYVHandler:
|
|
sCodecName = _T("Canopus YUV format");
|
|
break;
|
|
case YV12Handler:
|
|
sCodecName = _T("ATI YVU12 4:2:0 Planar");
|
|
break;
|
|
case YVU9Handler:
|
|
sCodecName = _T("Brooktree YVU9 Raw"); //(YVU9 Planar)
|
|
break;
|
|
case YVYUHandler:
|
|
sCodecName = _T("Uncompressed YUV 4:2:2"); //as for UYVY but with different component ordering within the u_int32 macropixel
|
|
break;
|
|
case ZLIBHandler:
|
|
sCodecName = _T("Lossless Codec"); //(ZIP compression)
|
|
break;
|
|
case ZPEGHandler:
|
|
sCodecName = _T("Metheus Video Zipper");
|
|
break;
|
|
case ZPG1Handler:
|
|
case ZPG2Handler:
|
|
case ZPG3Handler:
|
|
case ZPG4Handler:
|
|
bNotFound=TRUE;
|
|
break;
|
|
case ZYGOHandler:
|
|
sCodecName = _T("ZyGo Video Codec");
|
|
break;
|
|
//////////////////////////////////////////////////////////////
|
|
case RV10Handler:
|
|
sCodecName = _T("Real Video 1.0");
|
|
break;
|
|
case RV20Handler:
|
|
sCodecName = _T("Real Video 2.0");
|
|
break;
|
|
case RV30Handler:
|
|
sCodecName = _T("Real Video 3.0");
|
|
break;
|
|
case RV40Handler:
|
|
sCodecName = _T("Real Video 4.0");
|
|
break;
|
|
case FPS1Handler:
|
|
sCodecName = _T("Fraps");
|
|
break;
|
|
default:
|
|
bNotFound=TRUE;
|
|
break;
|
|
}
|
|
|
|
if (bNotFound)
|
|
{
|
|
DWORD fccHandler2 = LOWERCASEFOURCC(fccHandler);
|
|
bNotFound = (fccHandler==fccHandler2);
|
|
fccHandler = fccHandler2;
|
|
}
|
|
else
|
|
break;
|
|
}
|
|
|
|
return sCodecName;
|
|
}
|
|
|
|
|
|
};
|
|
|
|
|
|
// CAVSVideoFormat
|
|
[coclass, uuid("6FA90777-E844-4B62-845D-3849168BF8D4"), threading(apartment), vi_progid("AVSMediaFormatSettings3.AVSVideoFormat"), progid("AVSMediaFormatSettings3.AVSVideoForma.1"), version(1.0)]
|
|
class ATL_NO_VTABLE CAVSVideoFormat : public CAVSVideoFormatImpl<CAVSVideoFormat, IAVSVideoFormat>
|
|
{
|
|
};
|
|
|