[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