Changeset View
Changeset View
Standalone View
Standalone View
source/gameengine/VideoTexture/blendVideoTex.cpp
| Show First 20 Lines • Show All 124 Lines • ▼ Show 20 Lines | static PyMethodDef moduleMethods[] = | ||||
| {"imageToArray", imageToArray, METH_VARARGS, "get buffer from image source, color channels are selectable"}, | {"imageToArray", imageToArray, METH_VARARGS, "get buffer from image source, color channels are selectable"}, | ||||
| {NULL} /* Sentinel */ | {NULL} /* Sentinel */ | ||||
| }; | }; | ||||
| #ifdef WITH_FFMPEG | #ifdef WITH_FFMPEG | ||||
| extern PyTypeObject VideoFFmpegType; | extern PyTypeObject VideoFFmpegType; | ||||
| extern PyTypeObject ImageFFmpegType; | extern PyTypeObject ImageFFmpegType; | ||||
| #endif | #endif | ||||
| #ifdef WITH_DECKLINK | |||||
| extern PyTypeObject VideoDeckLinkType; | |||||
| extern PyTypeObject DeckLinkType; | |||||
| #endif | |||||
| extern PyTypeObject FilterBlueScreenType; | extern PyTypeObject FilterBlueScreenType; | ||||
| extern PyTypeObject FilterGrayType; | extern PyTypeObject FilterGrayType; | ||||
| extern PyTypeObject FilterColorType; | extern PyTypeObject FilterColorType; | ||||
| extern PyTypeObject FilterLevelType; | extern PyTypeObject FilterLevelType; | ||||
| extern PyTypeObject FilterNormalType; | extern PyTypeObject FilterNormalType; | ||||
| extern PyTypeObject FilterRGB24Type; | extern PyTypeObject FilterRGB24Type; | ||||
| extern PyTypeObject FilterRGBA32Type; | extern PyTypeObject FilterRGBA32Type; | ||||
| extern PyTypeObject FilterBGR24Type; | extern PyTypeObject FilterBGR24Type; | ||||
| extern PyTypeObject ImageBuffType; | extern PyTypeObject ImageBuffType; | ||||
| extern PyTypeObject ImageMixType; | extern PyTypeObject ImageMixType; | ||||
| static void registerAllTypes(void) | static void registerAllTypes(void) | ||||
| { | { | ||||
| #ifdef WITH_FFMPEG | #ifdef WITH_FFMPEG | ||||
| pyImageTypes.add(&VideoFFmpegType, "VideoFFmpeg"); | pyImageTypes.add(&VideoFFmpegType, "VideoFFmpeg"); | ||||
| pyImageTypes.add(&ImageFFmpegType, "ImageFFmpeg"); | pyImageTypes.add(&ImageFFmpegType, "ImageFFmpeg"); | ||||
| #endif | #endif | ||||
| #ifdef WITH_DECKLINK | |||||
| pyImageTypes.add(&VideoDeckLinkType, "VideoDeckLink"); | |||||
| #endif | |||||
| pyImageTypes.add(&ImageBuffType, "ImageBuff"); | pyImageTypes.add(&ImageBuffType, "ImageBuff"); | ||||
| pyImageTypes.add(&ImageMixType, "ImageMix"); | pyImageTypes.add(&ImageMixType, "ImageMix"); | ||||
| pyImageTypes.add(&ImageRenderType, "ImageRender"); | pyImageTypes.add(&ImageRenderType, "ImageRender"); | ||||
| pyImageTypes.add(&ImageMirrorType, "ImageMirror"); | pyImageTypes.add(&ImageMirrorType, "ImageMirror"); | ||||
| pyImageTypes.add(&ImageViewportType, "ImageViewport"); | pyImageTypes.add(&ImageViewportType, "ImageViewport"); | ||||
| pyFilterTypes.add(&FilterBlueScreenType, "FilterBlueScreen"); | pyFilterTypes.add(&FilterBlueScreenType, "FilterBlueScreen"); | ||||
| pyFilterTypes.add(&FilterGrayType, "FilterGray"); | pyFilterTypes.add(&FilterGrayType, "FilterGray"); | ||||
| Show All 33 Lines | PyMODINIT_FUNC initVideoTexturePythonBinding(void) | ||||
| registerAllExceptions(); | registerAllExceptions(); | ||||
| if (!pyImageTypes.ready()) | if (!pyImageTypes.ready()) | ||||
| return NULL; | return NULL; | ||||
| if (!pyFilterTypes.ready()) | if (!pyFilterTypes.ready()) | ||||
| return NULL; | return NULL; | ||||
| if (PyType_Ready(&TextureType) < 0) | if (PyType_Ready(&TextureType) < 0) | ||||
| return NULL; | return NULL; | ||||
| #ifdef WITH_DECKLINK | |||||
| if (PyType_Ready(&DeckLinkType) < 0) | |||||
| return NULL; | |||||
| #endif | |||||
| m = PyModule_Create(&VideoTexture_module_def); | m = PyModule_Create(&VideoTexture_module_def); | ||||
| PyDict_SetItemString(PySys_GetObject("modules"), VideoTexture_module_def.m_name, m); | PyDict_SetItemString(PySys_GetObject("modules"), VideoTexture_module_def.m_name, m); | ||||
| if (m == NULL) | if (m == NULL) | ||||
| return NULL; | return NULL; | ||||
| // initialize classes | // initialize classes | ||||
| pyImageTypes.reg(m); | pyImageTypes.reg(m); | ||||
| pyFilterTypes.reg(m); | pyFilterTypes.reg(m); | ||||
| Py_INCREF(&TextureType); | Py_INCREF(&TextureType); | ||||
| PyModule_AddObject(m, "Texture", (PyObject *)&TextureType); | PyModule_AddObject(m, "Texture", (PyObject *)&TextureType); | ||||
| #ifdef WITH_DECKLINK | |||||
| Py_INCREF(&DeckLinkType); | |||||
| PyModule_AddObject(m, "DeckLink", (PyObject *)&DeckLinkType); | |||||
| #endif | |||||
| PyModule_AddIntConstant(m, "SOURCE_ERROR", SourceError); | PyModule_AddIntConstant(m, "SOURCE_ERROR", SourceError); | ||||
| PyModule_AddIntConstant(m, "SOURCE_EMPTY", SourceEmpty); | PyModule_AddIntConstant(m, "SOURCE_EMPTY", SourceEmpty); | ||||
| PyModule_AddIntConstant(m, "SOURCE_READY", SourceReady); | PyModule_AddIntConstant(m, "SOURCE_READY", SourceReady); | ||||
| PyModule_AddIntConstant(m, "SOURCE_PLAYING", SourcePlaying); | PyModule_AddIntConstant(m, "SOURCE_PLAYING", SourcePlaying); | ||||
| PyModule_AddIntConstant(m, "SOURCE_STOPPED", SourceStopped); | PyModule_AddIntConstant(m, "SOURCE_STOPPED", SourceStopped); | ||||
| PyModule_AddIntConstant(m, "IMB_BLEND_MIX", IMB_BLEND_MIX); | PyModule_AddIntConstant(m, "IMB_BLEND_MIX", IMB_BLEND_MIX); | ||||
| PyModule_AddIntConstant(m, "IMB_BLEND_ADD", IMB_BLEND_ADD); | PyModule_AddIntConstant(m, "IMB_BLEND_ADD", IMB_BLEND_ADD); | ||||
| Show All 34 Lines | |||||