diff options
Diffstat (limited to 'source/blender/python/intern/bpy_app_ffmpeg.c')
-rw-r--r-- | source/blender/python/intern/bpy_app_ffmpeg.c | 131 |
1 files changed, 68 insertions, 63 deletions
diff --git a/source/blender/python/intern/bpy_app_ffmpeg.c b/source/blender/python/intern/bpy_app_ffmpeg.c index 6fb53f60f90..d1aa7817538 100644 --- a/source/blender/python/intern/bpy_app_ffmpeg.c +++ b/source/blender/python/intern/bpy_app_ffmpeg.c @@ -26,116 +26,121 @@ #include "../generic/py_capi_utils.h" #ifdef WITH_FFMPEG -#include <libavcodec/avcodec.h> -#include <libavdevice/avdevice.h> -#include <libavformat/avformat.h> -#include <libavutil/avutil.h> -#include <libswscale/swscale.h> +# include <libavcodec/avcodec.h> +# include <libavdevice/avdevice.h> +# include <libavformat/avformat.h> +# include <libavutil/avutil.h> +# include <libswscale/swscale.h> #endif static PyTypeObject BlenderAppFFmpegType; #define DEF_FFMPEG_LIB_VERSION(lib) \ - {(char *)(#lib "_version"), (char *)("The " #lib " version as a tuple of 3 numbers")}, \ - {(char *)(#lib "_version_string"), (char *)("The " #lib " version formatted as a string")} + {(char *)(#lib "_version"), (char *)("The " #lib " version as a tuple of 3 numbers")}, \ + { \ + (char *)(#lib "_version_string"), (char *)("The " #lib " version formatted as a string") \ + } static PyStructSequence_Field app_ffmpeg_info_fields[] = { - {(char *)"supported", (char *)("Boolean, True when Blender is built with FFmpeg support")}, - - DEF_FFMPEG_LIB_VERSION(avcodec), - DEF_FFMPEG_LIB_VERSION(avdevice), - DEF_FFMPEG_LIB_VERSION(avformat), - DEF_FFMPEG_LIB_VERSION(avutil), - DEF_FFMPEG_LIB_VERSION(swscale), - {NULL}, + {(char *)"supported", (char *)("Boolean, True when Blender is built with FFmpeg support")}, + + DEF_FFMPEG_LIB_VERSION(avcodec), + DEF_FFMPEG_LIB_VERSION(avdevice), + DEF_FFMPEG_LIB_VERSION(avformat), + DEF_FFMPEG_LIB_VERSION(avutil), + DEF_FFMPEG_LIB_VERSION(swscale), + {NULL}, }; #undef DEF_FFMPEG_LIB_VERSION static PyStructSequence_Desc app_ffmpeg_info_desc = { - (char *)"bpy.app.ffmpeg", /* name */ - (char *)"This module contains information about FFmpeg blender is linked against", /* doc */ - app_ffmpeg_info_fields, /* fields */ - ARRAY_SIZE(app_ffmpeg_info_fields) - 1, + (char *)"bpy.app.ffmpeg", /* name */ + (char *)"This module contains information about FFmpeg blender is linked against", /* doc */ + app_ffmpeg_info_fields, /* fields */ + ARRAY_SIZE(app_ffmpeg_info_fields) - 1, }; static PyObject *make_ffmpeg_info(void) { - PyObject *ffmpeg_info; - int pos = 0; + PyObject *ffmpeg_info; + int pos = 0; #ifdef WITH_FFMPEG - int curversion; + int curversion; #endif - ffmpeg_info = PyStructSequence_New(&BlenderAppFFmpegType); - if (ffmpeg_info == NULL) { - return NULL; - } + ffmpeg_info = PyStructSequence_New(&BlenderAppFFmpegType); + if (ffmpeg_info == NULL) { + return NULL; + } -#if 0 // UNUSED -#define SetIntItem(flag) \ - PyStructSequence_SET_ITEM(ffmpeg_info, pos++, PyLong_FromLong(flag)) +#if 0 // UNUSED +# define SetIntItem(flag) PyStructSequence_SET_ITEM(ffmpeg_info, pos++, PyLong_FromLong(flag)) #endif #ifndef WITH_FFMPEG -#define SetStrItem(str) \ - PyStructSequence_SET_ITEM(ffmpeg_info, pos++, PyUnicode_FromString(str)) +# define SetStrItem(str) PyStructSequence_SET_ITEM(ffmpeg_info, pos++, PyUnicode_FromString(str)) #endif -#define SetObjItem(obj) \ - PyStructSequence_SET_ITEM(ffmpeg_info, pos++, obj) +#define SetObjItem(obj) PyStructSequence_SET_ITEM(ffmpeg_info, pos++, obj) #ifdef WITH_FFMPEG -# define FFMPEG_LIB_VERSION(lib) { \ - curversion = lib ## _version(); \ - SetObjItem(PyC_Tuple_Pack_I32(curversion >> 16, (curversion >> 8) % 256, curversion % 256)); \ - SetObjItem(PyUnicode_FromFormat("%2d, %2d, %2d", \ - curversion >> 16, (curversion >> 8) % 256, curversion % 256)); \ -} (void)0 +# define FFMPEG_LIB_VERSION(lib) \ + { \ + curversion = lib##_version(); \ + SetObjItem( \ + PyC_Tuple_Pack_I32(curversion >> 16, (curversion >> 8) % 256, curversion % 256)); \ + SetObjItem(PyUnicode_FromFormat( \ + "%2d, %2d, %2d", curversion >> 16, (curversion >> 8) % 256, curversion % 256)); \ + } \ + (void)0 #else -# define FFMPEG_LIB_VERSION(lib) { \ - SetStrItem("Unknown"); \ - SetStrItem("Unknown"); \ -} (void)0 +# define FFMPEG_LIB_VERSION(lib) \ + { \ + SetStrItem("Unknown"); \ + SetStrItem("Unknown"); \ + } \ + (void)0 #endif #ifdef WITH_FFMPEG - SetObjItem(PyBool_FromLong(1)); + SetObjItem(PyBool_FromLong(1)); #else - SetObjItem(PyBool_FromLong(0)); + SetObjItem(PyBool_FromLong(0)); #endif - FFMPEG_LIB_VERSION(avcodec); - FFMPEG_LIB_VERSION(avdevice); - FFMPEG_LIB_VERSION(avformat); - FFMPEG_LIB_VERSION(avutil); - FFMPEG_LIB_VERSION(swscale); + FFMPEG_LIB_VERSION(avcodec); + FFMPEG_LIB_VERSION(avdevice); + FFMPEG_LIB_VERSION(avformat); + FFMPEG_LIB_VERSION(avutil); + FFMPEG_LIB_VERSION(swscale); #undef FFMPEG_LIB_VERSION - if (PyErr_Occurred()) { - Py_CLEAR(ffmpeg_info); - return NULL; - } + if (PyErr_Occurred()) { + Py_CLEAR(ffmpeg_info); + return NULL; + } // #undef SetIntItem #undef SetStrItem #undef SetObjItem - return ffmpeg_info; + return ffmpeg_info; } PyObject *BPY_app_ffmpeg_struct(void) { - PyObject *ret; + PyObject *ret; - PyStructSequence_InitType(&BlenderAppFFmpegType, &app_ffmpeg_info_desc); + PyStructSequence_InitType(&BlenderAppFFmpegType, &app_ffmpeg_info_desc); - ret = make_ffmpeg_info(); + ret = make_ffmpeg_info(); - /* prevent user from creating new instances */ - BlenderAppFFmpegType.tp_init = NULL; - BlenderAppFFmpegType.tp_new = NULL; - BlenderAppFFmpegType.tp_hash = (hashfunc)_Py_HashPointer; /* without this we can't do set(sys.modules) [#29635] */ + /* prevent user from creating new instances */ + BlenderAppFFmpegType.tp_init = NULL; + BlenderAppFFmpegType.tp_new = NULL; + BlenderAppFFmpegType.tp_hash = (hashfunc) + _Py_HashPointer; /* without this we can't do set(sys.modules) [#29635] */ - return ret; + return ret; } |