[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [42116] trunk/blender: image format arg parsing for creator.c
Campbell Barton
ideasman42 at gmail.com
Thu Nov 24 06:18:35 CET 2011
Revision: 42116
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42116
Author: campbellbarton
Date: 2011-11-24 05:18:26 +0000 (Thu, 24 Nov 2011)
Log Message:
-----------
image format arg parsing for creator.c
move these checks from creator into BKE's image.c, this way we dont need the defines for creator, scons was missing DDS, HDR & Cineon for example and nobody noticed.
Modified Paths:
--------------
trunk/blender/build_files/scons/tools/Blender.py
trunk/blender/source/blender/blenkernel/BKE_image.h
trunk/blender/source/blender/blenkernel/intern/image.c
trunk/blender/source/blender/makesdna/DNA_scene_types.h
trunk/blender/source/creator/CMakeLists.txt
trunk/blender/source/creator/creator.c
Modified: trunk/blender/build_files/scons/tools/Blender.py
===================================================================
--- trunk/blender/build_files/scons/tools/Blender.py 2011-11-24 04:45:36 UTC (rev 42115)
+++ trunk/blender/build_files/scons/tools/Blender.py 2011-11-24 05:18:26 UTC (rev 42116)
@@ -319,20 +319,11 @@
incs = ['#/intern/guardedalloc', '#/source/blender/blenlib', '#/source/blender/blenkernel', '#/source/blender/editors/include', '#/source/blender/blenloader', '#/source/blender/imbuf', '#/source/blender/renderconverter', '#/source/blender/render/extern/include', '#/source/blender/windowmanager', '#/source/blender/makesdna', '#/source/blender/makesrna', '#/source/gameengine/BlenderRoutines', '#/extern/glew/include', '#/source/blender/gpu', env['BF_OPENGL_INC']]
defs = []
- if env['WITH_BF_QUICKTIME']:
- incs.append(env['BF_QUICKTIME_INC'])
- defs.append('WITH_QUICKTIME')
if env['WITH_BF_BINRELOC']:
incs.append('#/extern/binreloc/include')
defs.append('WITH_BINRELOC')
- if env['WITH_BF_OPENEXR']:
- defs.append('WITH_OPENEXR')
-
- if env['WITH_BF_TIFF']:
- defs.append('WITH_TIFF')
-
if env['WITH_BF_SDL']:
defs.append('WITH_SDL')
Modified: trunk/blender/source/blender/blenkernel/BKE_image.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_image.h 2011-11-24 04:45:36 UTC (rev 42115)
+++ trunk/blender/source/blender/blenkernel/BKE_image.h 2011-11-24 05:18:26 UTC (rev 42116)
@@ -65,6 +65,8 @@
int BKE_imtype_supports_quality(const char imtype);
char BKE_imtype_valid_depths(const char imtype);
+char BKE_imtype_from_arg(const char *arg);
+
struct anim *openanim(const char *name, int flags, int streamindex);
void image_de_interlace(struct Image *ima, int odd);
Modified: trunk/blender/source/blender/blenkernel/intern/image.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/image.c 2011-11-24 04:45:36 UTC (rev 42115)
+++ trunk/blender/source/blender/blenkernel/intern/image.c 2011-11-24 05:18:26 UTC (rev 42116)
@@ -971,6 +971,47 @@
}
}
+
+/* string is from command line --render-format arg, keep in sync with
+ * creator.c help info */
+char BKE_imtype_from_arg(const char *imtype_arg)
+{
+ if (!strcmp(imtype_arg,"TGA")) return R_IMF_IMTYPE_TARGA;
+ else if (!strcmp(imtype_arg,"IRIS")) return R_IMF_IMTYPE_IRIS;
+#ifdef WITH_DDS
+ else if (!strcmp(imtype_arg,"DDS")) return R_IMF_IMTYPE_DDS;
+#endif
+ else if (!strcmp(imtype_arg,"JPEG")) return R_IMF_IMTYPE_JPEG90;
+ else if (!strcmp(imtype_arg,"IRIZ")) return R_IMF_IMTYPE_IRIZ;
+ else if (!strcmp(imtype_arg,"RAWTGA")) return R_IMF_IMTYPE_RAWTGA;
+ else if (!strcmp(imtype_arg,"AVIRAW")) return R_IMF_IMTYPE_AVIRAW;
+ else if (!strcmp(imtype_arg,"AVIJPEG")) return R_IMF_IMTYPE_AVIJPEG;
+ else if (!strcmp(imtype_arg,"PNG")) return R_IMF_IMTYPE_PNG;
+ else if (!strcmp(imtype_arg,"AVICODEC")) return R_IMF_IMTYPE_AVICODEC;
+ else if (!strcmp(imtype_arg,"QUICKTIME")) return R_IMF_IMTYPE_QUICKTIME;
+ else if (!strcmp(imtype_arg,"BMP")) return R_IMF_IMTYPE_BMP;
+#ifdef WITH_HDR
+ else if (!strcmp(imtype_arg,"HDR")) return R_IMF_IMTYPE_RADHDR;
+#endif
+#ifdef WITH_TIFF
+ else if (!strcmp(imtype_arg,"TIFF")) return R_IMF_IMTYPE_TIFF;
+#endif
+#ifdef WITH_OPENEXR
+ else if (!strcmp(imtype_arg,"EXR")) return R_IMF_IMTYPE_OPENEXR;
+ else if (!strcmp(imtype_arg,"MULTILAYER")) return R_IMF_IMTYPE_MULTILAYER;
+#endif
+ else if (!strcmp(imtype_arg,"MPEG")) return R_IMF_IMTYPE_FFMPEG;
+ else if (!strcmp(imtype_arg,"FRAMESERVER")) return R_IMF_IMTYPE_FRAMESERVER;
+#ifdef WITH_CINEON
+ else if (!strcmp(imtype_arg,"CINEON")) return R_IMF_IMTYPE_CINEON;
+ else if (!strcmp(imtype_arg,"DPX")) return R_IMF_IMTYPE_DPX;
+#endif
+#ifdef WITH_OPENJPEG
+ else if (!strcmp(imtype_arg,"JP2")) return R_IMF_IMTYPE_JP2;
+#endif
+ else return R_IMF_IMTYPE_INVALID;
+}
+
int BKE_add_image_extension(char *string, const char imtype)
{
const char *extension= NULL;
Modified: trunk/blender/source/blender/makesdna/DNA_scene_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_scene_types.h 2011-11-24 04:45:36 UTC (rev 42115)
+++ trunk/blender/source/blender/makesdna/DNA_scene_types.h 2011-11-24 05:18:26 UTC (rev 42116)
@@ -277,6 +277,8 @@
#define R_IMF_IMTYPE_XVID 32
#define R_IMF_IMTYPE_THEORA 33
+#define R_IMF_IMTYPE_INVALID 255
+
/* ImageFormatData.flag */
#define R_IMF_FLAG_ZBUF (1<<0) /* was R_OPENEXR_ZBUF */
#define R_IMF_FLAG_PREVIEW_JPG (1<<1) /* was R_PREVIEW_JPG */
Modified: trunk/blender/source/creator/CMakeLists.txt
===================================================================
--- trunk/blender/source/creator/CMakeLists.txt 2011-11-24 04:45:36 UTC (rev 42115)
+++ trunk/blender/source/creator/CMakeLists.txt 2011-11-24 05:18:26 UTC (rev 42116)
@@ -40,34 +40,6 @@
../blender/windowmanager
)
-if(WITH_CODEC_QUICKTIME)
- add_definitions(-DWITH_QUICKTIME)
-endif()
-
-if(WITH_IMAGE_OPENEXR)
- add_definitions(-DWITH_OPENEXR)
-endif()
-
-if(WITH_IMAGE_OPENJPEG)
- add_definitions(-DWITH_OPENJPEG)
-endif()
-
-if(WITH_IMAGE_TIFF)
- add_definitions(-DWITH_TIFF)
-endif()
-
-if(WITH_IMAGE_DDS)
- add_definitions(-DWITH_DDS)
-endif()
-
-if(WITH_IMAGE_CINEON)
- add_definitions(-DWITH_CINEON)
-endif()
-
-if(WITH_IMAGE_HDR)
- add_definitions(-DWITH_HDR)
-endif()
-
if(WITH_LIBMV)
blender_include_dirs(../../extern/libmv)
add_definitions(-DWITH_LIBMV)
Modified: trunk/blender/source/creator/creator.c
===================================================================
--- trunk/blender/source/creator/creator.c 2011-11-24 04:45:36 UTC (rev 42115)
+++ trunk/blender/source/creator/creator.c 2011-11-24 05:18:26 UTC (rev 42116)
@@ -77,6 +77,7 @@
#include "BKE_node.h"
#include "BKE_report.h"
#include "BKE_sound.h"
+#include "BKE_image.h"
#include "IMB_imbuf.h" // for IMB_init
@@ -300,7 +301,7 @@
printf (" $BLENDER_USER_CONFIG Directory for user configuration files.\n");
printf (" $BLENDER_USER_SCRIPTS Directory for user scripts.\n");
printf (" $BLENDER_SYSTEM_SCRIPTS Directory for system wide scripts.\n");
- printf (" $BLENDER_USER_DATAFILES Directory for user data files (icons, translations, ..).\n");
+ printf (" $BLENDER_USER_DAT`AFILES Directory for user data files (icons, translations, ..).\n");
printf (" $BLENDER_SYSTEM_DATAFILES Directory for system wide data files.\n");
printf (" $BLENDER_SYSTEM_PYTHON Directory for system python libraries.\n");
#ifdef WIN32
@@ -582,47 +583,14 @@
const char *imtype = argv[1];
Scene *scene= CTX_data_scene(C);
if (scene) {
- char imtype_new;
+ const char imtype_new= BKE_imtype_from_arg(imtype);
- if (!strcmp(imtype,"TGA")) imtype_new = R_IMF_IMTYPE_TARGA;
- else if (!strcmp(imtype,"IRIS")) imtype_new = R_IMF_IMTYPE_IRIS;
-#ifdef WITH_DDS
- else if (!strcmp(imtype,"DDS")) imtype_new = R_IMF_IMTYPE_DDS;
-#endif
- else if (!strcmp(imtype,"JPEG")) imtype_new = R_IMF_IMTYPE_JPEG90;
- else if (!strcmp(imtype,"IRIZ")) imtype_new = R_IMF_IMTYPE_IRIZ;
- else if (!strcmp(imtype,"RAWTGA")) imtype_new = R_IMF_IMTYPE_RAWTGA;
- else if (!strcmp(imtype,"AVIRAW")) imtype_new = R_IMF_IMTYPE_AVIRAW;
- else if (!strcmp(imtype,"AVIJPEG")) imtype_new = R_IMF_IMTYPE_AVIJPEG;
- else if (!strcmp(imtype,"PNG")) imtype_new = R_IMF_IMTYPE_PNG;
- else if (!strcmp(imtype,"AVICODEC")) imtype_new = R_IMF_IMTYPE_AVICODEC;
- else if (!strcmp(imtype,"QUICKTIME")) imtype_new = R_IMF_IMTYPE_QUICKTIME;
- else if (!strcmp(imtype,"BMP")) imtype_new = R_IMF_IMTYPE_BMP;
-#ifdef WITH_HDR
- else if (!strcmp(imtype,"HDR")) imtype_new = R_IMF_IMTYPE_RADHDR;
-#endif
-#ifdef WITH_TIFF
- else if (!strcmp(imtype,"TIFF")) imtype_new = R_IMF_IMTYPE_TIFF;
-#endif
-#ifdef WITH_OPENEXR
- else if (!strcmp(imtype,"EXR")) imtype_new = R_IMF_IMTYPE_OPENEXR;
- else if (!strcmp(imtype,"MULTILAYER")) imtype_new = R_IMF_IMTYPE_MULTILAYER;
-#endif
- else if (!strcmp(imtype,"MPEG")) imtype_new = R_IMF_IMTYPE_FFMPEG;
- else if (!strcmp(imtype,"FRAMESERVER")) imtype_new = R_IMF_IMTYPE_FRAMESERVER;
-#ifdef WITH_CINEON
- else if (!strcmp(imtype,"CINEON")) imtype_new = R_IMF_IMTYPE_CINEON;
- else if (!strcmp(imtype,"DPX")) imtype_new = R_IMF_IMTYPE_DPX;
-#endif
-#ifdef WITH_OPENJPEG
- else if (!strcmp(imtype,"JP2")) imtype_new = R_IMF_IMTYPE_JP2;
-#endif
- else {
+ if (imtype_new == R_IMF_IMTYPE_INVALID) {
printf("\nError: Format from '-F / --render-format' not known or not compiled in this release.\n");
- imtype_new= scene->r.im_format.imtype;
}
-
- scene->r.im_format.imtype= imtype_new;
+ else {
+ scene->r.im_format.imtype= imtype_new;
+ }
}
else {
printf("\nError: no blend loaded. order the arguments so '-F / --render-format' is after the blend is loaded.\n");
More information about the Bf-blender-cvs
mailing list