[Datatype-cvs] wm/video/codec/wmv8 Umakefil, NONE, 1.1 wmv8_decoder_entry.cpp, NONE, 1.1 wmv8_decoder_guids.cpp, NONE, 1.1 wmv8decoderdll, NONE, 1.1 wmv8decoderdll_win32.pcf, NONE, 1.1
hychoi at helixcommunity.org hychoi at helixcommunity.orgUpdate of /cvsroot/datatype/wm/video/codec/wmv8 In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv19623/wmv8 Added Files: Umakefil wmv8_decoder_entry.cpp wmv8_decoder_guids.cpp wmv8decoderdll wmv8decoderdll_win32.pcf Log Message: --- NEW FILE: Umakefil --- # # ***** BEGIN LICENSE BLOCK ***** # Version: RCSL 1.0/RPSL 1.0 # # Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. # # The contents of this file, and the files included with this file, are # subject to the current version of the RealNetworks Public Source License # Version 1.0 (the "RPSL") available at # http://www.helixcommunity.org/content/rpsl unless you have licensed # the file under the RealNetworks Community Source License Version 1.0 # (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, # in which case the RCSL will apply. You may also obtain the license terms # directly from RealNetworks. You may not use this file except in # compliance with the RPSL or, if you have a valid RCSL with RealNetworks # applicable to this file, the RCSL. Please see the applicable RPSL or # RCSL for the rights, obligations and limitations governing use of the # contents of the file. # # This file is part of the Helix DNA Technology. RealNetworks is the # developer of the Original Code and owns the copyrights in the portions # it created. # # This file, and the files included with this file, is distributed and made # available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER # EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, # INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS # FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. # # Technology Compatibility Kit Test Suite(s) Location: # http://www.helixcommunity.org/content/tck # # Contributor(s): # # ***** END LICENSE BLOCK ***** # UmakefileVersion(2,2) MultiTargetMake("wmv8decoderdll") --- NEW FILE: wmv8_decoder_guids.cpp --- /* ***** BEGIN LICENSE BLOCK ***** * Version: RCSL 1.0/RPSL 1.0 * * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. * * The contents of this file, and the files included with this file, are * subject to the current version of the RealNetworks Public Source License * Version 1.0 (the "RPSL") available at * http://www.helixcommunity.org/content/rpsl unless you have licensed * the file under the RealNetworks Community Source License Version 1.0 * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, * in which case the RCSL will apply. You may also obtain the license terms * directly from RealNetworks. You may not use this file except in * compliance with the RPSL or, if you have a valid RCSL with RealNetworks * applicable to this file, the RCSL. Please see the applicable RPSL or * RCSL for the rights, obligations and limitations governing use of the * contents of the file. * * This file is part of the Helix DNA Technology. RealNetworks is the * developer of the Original Code and owns the copyrights in the portions * it created. * * This file, and the files included with this file, is distributed and made * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. * * Technology Compatibility Kit Test Suite(s) Location: * http://www.helixcommunity.org/content/tck * * Contributor(s): * * ***** END LICENSE BLOCK ***** */ #define INITGUID #include "hxtypes.h" #include "hxcom.h" #include "hxcodec.h" #include "ihxtlogsystem.h" #include "ihxtlogsystemcontext.h" #include "ihxfgbuf.h" #include "hxdllaccess.h" #include "hxplgns.h" #include "hxplugn.h" #include "hxccf.h" // #include "dmo.h" // we include dmoguids.lib to get these GUIDs --- NEW FILE: wmv8decoderdll --- # # ***** BEGIN LICENSE BLOCK ***** # Version: RCSL 1.0/RPSL 1.0 # # Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. # # The contents of this file, and the files included with this file, are # subject to the current version of the RealNetworks Public Source License # Version 1.0 (the "RPSL") available at # http://www.helixcommunity.org/content/rpsl unless you have licensed # the file under the RealNetworks Community Source License Version 1.0 # (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, # in which case the RCSL will apply. You may also obtain the license terms # directly from RealNetworks. You may not use this file except in # compliance with the RPSL or, if you have a valid RCSL with RealNetworks # applicable to this file, the RCSL. Please see the applicable RPSL or # RCSL for the rights, obligations and limitations governing use of the # contents of the file. # # This file is part of the Helix DNA Technology. RealNetworks is the # developer of the Original Code and owns the copyrights in the portions # it created. # # This file, and the files included with this file, is distributed and made # available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER # EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, # INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS # FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. # # Technology Compatibility Kit Test Suite(s) Location: # http://www.helixcommunity.org/content/tck # # Contributor(s): # # ***** END LICENSE BLOCK ***** # UmakefileVersion(2,2) project.AddModuleIncludes("common/include", "datatype/include", "datatype/rm/include") project.AddModuleLibraries("common/runtime[runtlib]", "common/dbgtool[debuglib]", "common/util[utillib]", "common/container[contlib]", "common/system[syslib]", "common/log/logutil[logutillib]", "datatype/wm/common[wmcomlib]") project.AddLibraries(GetSDKPath("wmv8_decoderlib")) project.AddSources("wmv8_decoder_guids.cpp", "wmv8_decoder_entry.cpp") project.ExportFunction("PNCodec_Open", "HX_MOFTAG moftFormatTag,HXCODEC *codecRef", "datatype/rm/include", "hxcodec.h") project.ExportFunction("PNCodec_Close", "HXCODEC codecRef", "datatype/rm/include", "hxcodec.h") project.ExportFunction("PNCodec_GetUIName", "HXCODEC codecRef,char *nameBuf", "datatype/rm/include", "hxcodec.h") project.ExportFunction("PNCodec_GetVersion", "HXCODEC codecRef, ULONG32 *pVersion", "datatype/rm/include", "hxcodec.h") project.ExportFunction("PNCodec_QueryMediaFormat", "HXCODEC codecRef,HX_MOF * pmofIn, " \ "HX_MOF * pmofOut, UINT16 ioDirection", "datatype/rm/include", "hxcodec.h") project.ExportFunction("PNCodec_PreferredMediaFormat", "HXCODEC codecRef,HX_MOF * pmofIn, " \ "HX_MOF * pmofOut, UINT16 ioDirection", "datatype/rm/include", "hxcodec.h") project.ExportFunction("PNCodec_GetMediaFormats", "HXCODEC codecRef, UINT16 ioDirection, " \ "FP_MEDIAFORMATSCALLBACK fpCallback, void *userData", "datatype/rm/include", "hxcodec.h") project.ExportFunction("PNCodec_StreamOpen", "HXCODEC codecRef,HXSTREAM *streamRef,HXCODEC_INIT *params", "datatype/rm/include", "hxcodec.h") project.ExportFunction("PNCodec_Input", "HXCODEC codecRef, HXCODEC_DATA *pData", "datatype/rm/include", "hxcodec.h") project.ExportFunction("PNStream_Close", "HXSTREAM streamRef", "datatype/rm/include", "hxcodec.h") project.ExportFunction("PNStream_SetDataCallback", "HXSTREAM streamRef,HXSTREAM callbackRef," \ "HXMEMORY memoryRef, FP_STREAM_DATA data_callback", "datatype/rm/include", "hxcodec.h") project.ExportFunction("PNStream_GetStreamHeaderSize", "HXSTREAM streamRef, ULONG32 *puSize", "datatype/rm/include", "hxcodec.h") project.ExportFunction("PNStream_GetStreamHeader", "HXSTREAM streamRef, HX_MOF *pHeader", "datatype/rm/include", "hxcodec.h") project.ExportFunction("PNStream_Input", "HXSTREAM streamRef, HXSTREAM fromStreamRef, " \ "HXCODEC_DATA *pData", "datatype/rm/include", "hxcodec.h") project.ExportFunction("PNStream_SetOutputPacketSize", "HXSTREAM streamRef,ULONG32 prefSize, " \ "ULONG32 maxSize,ULONG32 *actualSize", "datatype/rm/include", "hxcodec.h") project.ExportFunction("PNStream_GetInputBufferSize", "HXSTREAM streamRef,ULONG32 *puSize", "datatype/rm/include", "hxcodec.h") project.ExportFunction("PNStream_GetProperty", "HXSTREAM streamRef, ULONG32 prop, void *pValue", "datatype/rm/include", "hxcodec.h") project.ExportFunction("PNStream_SetProperty", "HXSTREAM streamRef, ULONG32 prop, void *pValue", "datatype/rm/include", "hxcodec.h") project.ExportFunction("PNStream_OpenSettingsBox", "HXSTREAM streamRef, void * platformData", "datatype/rm/include", "hxcodec.h") project.ExportFunction("PNStream_GetIPNUnknown", "HXSTREAM streamRef", "datatype/rm/include", "hxcodec.h") if project.IsDefined("HI_VIDEO_MEMORY_FRONTEND"): project.ExportFunction("PNStream_PostProcess", "HXSTREAM streamRef, HXCODEC_DATA *pncData, ULONG32 uCurrentTime, " \ "UCHAR *pDestBuffer, UINT32 uDestPitch, INT32 cidDestColorFormat", "datatype/rm/include", "hxcodec.h") project.ExportFunction("PNStream_ReleaseFrame", "HXSTREAM streamRef, HXCODEC_DATA *pncData", "datatype/rm/include", "hxcodec.h") DLLTarget("wmv8") DependTarget() --- NEW FILE: wmv8_decoder_entry.cpp --- /* ***** BEGIN LICENSE BLOCK ***** * Version: RCSL 1.0/RPSL 1.0 * * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. * * The contents of this file, and the files included with this file, are * subject to the current version of the RealNetworks Public Source License * Version 1.0 (the "RPSL") available at * http://www.helixcommunity.org/content/rpsl unless you have licensed * the file under the RealNetworks Community Source License Version 1.0 * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, * in which case the RCSL will apply. You may also obtain the license terms * directly from RealNetworks. You may not use this file except in * compliance with the RPSL or, if you have a valid RCSL with RealNetworks * applicable to this file, the RCSL. Please see the applicable RPSL or * RCSL for the rights, obligations and limitations governing use of the * contents of the file. * * This file is part of the Helix DNA Technology. RealNetworks is the * developer of the Original Code and owns the copyrights in the portions * it created. * * This file, and the files included with this file, is distributed and made * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. * * Technology Compatibility Kit Test Suite(s) Location: * http://www.helixcommunity.org/content/tck * * Contributor(s): * * ***** END LICENSE BLOCK ***** */ #include "hxtypes.h" #include "hxcom.h" #include "hxresult.h" #include "hxcodec.h" #include "wmv8_decoder_shim_base.h" STDAPI ENTRYPOINTCALLTYPE ENTRYPOINT(PNCodec_Open)(HX_MOFTAG moftFormatTag, HXCODEC* pCodecRef) { HX_RESULT retVal = HXR_FAIL; if (pCodecRef) { // Assign a dummy reference *pCodecRef = (HXCODEC) 0xdeadbeef; // Clear the return value retVal = HXR_OK; } return retVal; } STDAPI ENTRYPOINTCALLTYPE ENTRYPOINT(PNCodec_Close)(HXCODEC codecRef) { HX_RESULT retVal = HXR_FAIL; if (codecRef) { retVal = HXR_OK; } return retVal; } STDAPI ENTRYPOINTCALLTYPE ENTRYPOINT(PNCodec_GetUIName)(HXCODEC codecRef, char* pszNameBuf) { HX_ASSERT(FALSE); return HXR_NOTIMPL; } STDAPI ENTRYPOINTCALLTYPE ENTRYPOINT(PNCodec_GetVersion)(HXCODEC codecRef, ULONG32 *pVersion) { HX_ASSERT(FALSE); return HXR_NOTIMPL; } STDAPI ENTRYPOINTCALLTYPE ENTRYPOINT(PNCodec_QueryMediaFormat)(HXCODEC codecRef, HX_MOF* pMofIn, HX_MOF* pMofOut, UINT16 usIODirection) { HX_ASSERT(FALSE); return HXR_NOTIMPL; } STDAPI ENTRYPOINTCALLTYPE ENTRYPOINT(PNCodec_PreferredMediaFormat)(HXCODEC codecRef, HX_MOF* pMofIn, HX_MOF* pMofOut, UINT16 usIODirection) { HX_ASSERT(FALSE); return HXR_NOTIMPL; } STDAPI ENTRYPOINTCALLTYPE ENTRYPOINT(PNCodec_GetMediaFormats)(HXCODEC codecRef, UINT16 usIODirection, FP_MEDIAFORMATSCALLBACK fpCallback, void* pUserData) { HX_ASSERT(FALSE); return HXR_NOTIMPL; } STDAPI ENTRYPOINTCALLTYPE ENTRYPOINT(PNCodec_StreamOpen)(HXCODEC codecRef, HXSTREAM* pStreamRef, HXCODEC_INIT* pParams) { HX_RESULT retVal = HXR_FAIL; if (codecRef) { // HXCreateWMVDecoderShim will either be implemented // in the DMO shim or the from-source shim CHXWMV8DecoderShimBase* pShim = NULL; retVal = HXCreateWMVDecoderShim(&pShim); if (SUCCEEDED(retVal)) { // Init the decoder retVal = pShim->Init(pParams); if (SUCCEEDED(retVal)) { // The HXSTREAM is just the pointer to this object *pStreamRef = (HXSTREAM) pShim; } } } return retVal; } STDAPI ENTRYPOINTCALLTYPE ENTRYPOINT(PNCodec_Input)(HXCODEC codecRef, HXCODEC_DATA* pData) { HX_ASSERT(FALSE); return HXR_NOTIMPL; } STDAPI ENTRYPOINTCALLTYPE ENTRYPOINT(PNStream_Close)(HXSTREAM streamRef) { HX_RESULT retVal = HXR_FAIL; if (streamRef) { // Get the decoder shim pointer CHXWMV8DecoderShimBase* pShim = (CHXWMV8DecoderShimBase*) streamRef; // Close the object pShim->Close(); // Delete the object HX_DELETE(pShim); // Clear the return value retVal = HXR_OK; } return retVal; } STDAPI ENTRYPOINTCALLTYPE ENTRYPOINT(PNStream_SetDataCallback)(HXSTREAM streamRef, HXSTREAM callbackRef, HXMEMORY memoryRef, FP_STREAM_DATA fpDataCallback) { HX_RESULT retVal = HXR_FAIL; if (streamRef) { // Get the decoder shim pointer CHXWMV8DecoderShimBase* pShim = (CHXWMV8DecoderShimBase*) streamRef; // Call the equivalent method in the object retVal = pShim->SetDataCallback(callbackRef, memoryRef, fpDataCallback); } return retVal; } STDAPI ENTRYPOINTCALLTYPE ENTRYPOINT(PNStream_GetStreamHeaderSize)(HXSTREAM streamRef, ULONG32* pulSize) { HX_RESULT retVal = HXR_FAIL; if (streamRef) { // Get the decoder shim pointer CHXWMV8DecoderShimBase* pShim = (CHXWMV8DecoderShimBase*) streamRef; // Call the equivalent method in the object retVal = pShim->GetStreamHeaderSize(pulSize); } return retVal; } STDAPI ENTRYPOINTCALLTYPE ENTRYPOINT(PNStream_GetStreamHeader)(HXSTREAM streamRef, HX_MOF* pHeader) { HX_RESULT retVal = HXR_FAIL; if (streamRef) { // Get the decoder shim pointer CHXWMV8DecoderShimBase* pShim = (CHXWMV8DecoderShimBase*) streamRef; // Call the equivalent method in the object retVal = pShim->GetStreamHeader(pHeader); } return retVal; } STDAPI ENTRYPOINTCALLTYPE ENTRYPOINT(PNStream_Input)(HXSTREAM streamRef, HXSTREAM fromStreamRef, HXCODEC_DATA* pData) { HX_RESULT retVal = HXR_FAIL; if (streamRef) { // Get the decoder shim pointer CHXWMV8DecoderShimBase* pShim = (CHXWMV8DecoderShimBase*) streamRef; // Call the equivalent method in the object retVal = pShim->Input(pData); } return retVal; } STDAPI ENTRYPOINTCALLTYPE ENTRYPOINT(PNStream_SetOutputPacketSize)(HXSTREAM streamRef, ULONG32 PrefSize, ULONG32 MaxSize, ULONG32* pActualSize) { HX_ASSERT(FALSE); return HXR_NOTIMPL; } STDAPI ENTRYPOINTCALLTYPE ENTRYPOINT(PNStream_GetInputBufferSize)(HXSTREAM streamRef, ULONG32* pulSize) { HX_ASSERT(FALSE); return HXR_NOTIMPL; } STDAPI ENTRYPOINTCALLTYPE ENTRYPOINT(PNStream_GetProperty)(HXSTREAM streamRef, ULONG32 prop, void *pValue) { HX_RESULT retVal = HXR_FAIL; if (streamRef) { // Get the decoder shim pointer CHXWMV8DecoderShimBase* pShim = (CHXWMV8DecoderShimBase*) streamRef; // Call the equivalent method in the object retVal = pShim->GetProperty(prop, pValue); } return retVal; } STDAPI ENTRYPOINTCALLTYPE ENTRYPOINT(PNStream_SetProperty)(HXSTREAM streamRef, ULONG32 prop, void* pValue) { HX_RESULT retVal = HXR_FAIL; if (streamRef) { // Get the decoder shim pointer CHXWMV8DecoderShimBase* pShim = (CHXWMV8DecoderShimBase*) streamRef; // Call the equivalent method in the object retVal = pShim->SetProperty(prop, pValue); } return retVal; } STDAPI ENTRYPOINTCALLTYPE ENTRYPOINT(PNStream_OpenSettingsBox)(HXSTREAM streamRef, void * pPlatformData) { HX_ASSERT(FALSE); return HXR_NOTIMPL; } STDAPI_(PIHXUnknown) ENTRYPOINTCALLTYPE ENTRYPOINT(PNStream_GetIPNUnknown)(HXSTREAM streamRef) { HX_ASSERT(FALSE); return NULL; } #ifdef HW_VIDEO_MEMORY_FRONTEND STDAPI ENTRYPOINTCALLTYPE ENTRYPOINT(PNStream_PostProcess)(HXSTREAM streamRef, HXCODEC_DATA* pncData, ULONG32 uCurrentTime, UCHAR* pDestBuffer, UINT32 uDestPitch, INT32 cidDestColorFormat) { HX_ASSERT(FALSE); return HXR_NOTIMPL; } STDAPI ENTRYPOINTCALLTYPE ENTRYPOINT(PNStream_ReleaseFrame)(HXSTREAM streamRef, HXCODEC_DATA *pncData) { HX_ASSERT(FALSE); return HXR_NOTIMPL; } #endif --- NEW FILE: wmv8decoderdll_win32.pcf --- # # ***** BEGIN LICENSE BLOCK ***** # Version: RCSL 1.0/RPSL 1.0 # # Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. # # The contents of this file, and the files included with this file, are # subject to the current version of the RealNetworks Public Source License # Version 1.0 (the "RPSL") available at # http://www.helixcommunity.org/content/rpsl unless you have licensed # the file under the RealNetworks Community Source License Version 1.0 # (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, # in which case the RCSL will apply. You may also obtain the license terms # directly from RealNetworks. You may not use this file except in # compliance with the RPSL or, if you have a valid RCSL with RealNetworks # applicable to this file, the RCSL. Please see the applicable RPSL or # RCSL for the rights, obligations and limitations governing use of the # contents of the file. # # This file is part of the Helix DNA Technology. RealNetworks is the # developer of the Original Code and owns the copyrights in the portions # it created. # # This file, and the files included with this file, is distributed and made # available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER # EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, # INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS # FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. # # Technology Compatibility Kit Test Suite(s) Location: # http://www.helixcommunity.org/content/tck # # Contributor(s): # # ***** END LICENSE BLOCK ***** # import os project.AddSystemLibraries("user32.lib", "advapi32.lib")