00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef _COP2_COMMON_H_
00021 #define _COP2_COMMON_H_
00022
00023 #define COP_MASK_PAGE_NAME "Mask"
00024 #define COP_GEN_MASK_COUNT 4
00025 #define COP_GEN_IMAGE_PAGE "Image"
00026 #define COP_GEN_IMAGE_COUNT 15
00027 #define COP_GEN_SEQUENCE_PAGE "Sequence"
00028 #define COP_GEN_SEQUENCE_COUNT 9
00029 #define COP_MULTI_MERGE_PAGE "Merge"
00030 #define COP_MULTI_MERGE_COUNT 5
00031 #define COP_FRAME_PAGE_NAME "Frame Scope"
00032
00033 #define TOOL_PARM PRM_Template::PRM_EXPORT_TBX
00034 #define POPUP_PARM PRM_Template::PRM_EXPORT_MAX
00035
00036 #define COP_EMPTY_SWITCHER(name) \
00037 static PRM_Default switcher[] = { \
00038 PRM_Default(0,name), }
00039
00040 #define COP_SWITCHER(count, name) \
00041 static PRM_Default switcher[] = { \
00042 PRM_Default(count, name) }
00043
00044 #define COP_SWITCHER2(count1, name1, count2, name2) \
00045 static PRM_Default switcher[] = { \
00046 PRM_Default(count1, name1), \
00047 PRM_Default(count2, name2) }
00048
00049 #define COP_SWITCHER3(count1, name1, count2, name2, count3, name3)\
00050 static PRM_Default switcher[] = { \
00051 PRM_Default(count1, name1), \
00052 PRM_Default(count2, name2), \
00053 PRM_Default(count3, name3) }
00054
00055 #define COP_SWITCHER4(count1,name1, count2,name2, count3,name3, count4,name4)\
00056 static PRM_Default switcher[] = { \
00057 PRM_Default(count1, name1), \
00058 PRM_Default(count2, name2), \
00059 PRM_Default(count3, name3), \
00060 PRM_Default(count4, name4) }
00061
00062 #define COP_SWITCHER5(count1,name1, count2,name2, count3,name3, count4,name4, count5, name5)\
00063 static PRM_Default switcher[] = { \
00064 PRM_Default(count1, name1), \
00065 PRM_Default(count2, name2), \
00066 PRM_Default(count3, name3), \
00067 PRM_Default(count4, name4), \
00068 PRM_Default(count5, name5) }
00069
00070
00071
00072 #define COP_GENERATOR_SWITCHER(count, name) \
00073 static PRM_Default switcher[] = { \
00074 PRM_Default(count, name), \
00075 PRM_Default(COP_GEN_MASK_COUNT, COP_MASK_PAGE_NAME), \
00076 PRM_Default(COP_GEN_IMAGE_COUNT, COP_GEN_IMAGE_PAGE), \
00077 PRM_Default(COP_GEN_SEQUENCE_COUNT, COP_GEN_SEQUENCE_PAGE) }
00078
00079 #define COP_GENERATOR_SWITCHER2(count1, name1, count2, name2) \
00080 static PRM_Default switcher[] = { \
00081 PRM_Default(count1, name1), \
00082 PRM_Default(count2, name2), \
00083 PRM_Default(COP_GEN_MASK_COUNT, COP_MASK_PAGE_NAME), \
00084 PRM_Default(COP_GEN_IMAGE_COUNT, COP_GEN_IMAGE_PAGE), \
00085 PRM_Default(COP_GEN_SEQUENCE_COUNT, COP_GEN_SEQUENCE_PAGE) }
00086
00087 #define COP_GENERATOR_SWITCHER3(count1,name1, count2,name2, count3,name3) \
00088 static PRM_Default switcher[] = { \
00089 PRM_Default(count1, name1), \
00090 PRM_Default(count2, name2), \
00091 PRM_Default(count3, name3), \
00092 PRM_Default(COP_GEN_MASK_COUNT, COP_MASK_PAGE_NAME), \
00093 PRM_Default(COP_GEN_IMAGE_COUNT, COP_GEN_IMAGE_PAGE), \
00094 PRM_Default(COP_GEN_SEQUENCE_COUNT, COP_GEN_SEQUENCE_PAGE) }
00095
00096
00097 #define COP_MULTI_SWITCHER(count, name) \
00098 static PRM_Default switcher[] = { \
00099 PRM_Default(count, name), \
00100 PRM_Default(COP_MULTI_MERGE_COUNT, COP_MULTI_MERGE_PAGE) }
00101
00102 #define COP_MULTI_SWITCHER2(count1, name1, count2, name2) \
00103 static PRM_Default switcher[] = { \
00104 PRM_Default(count1, name1), \
00105 PRM_Default(count2, name2), \
00106 PRM_Default(COP_MULTI_MERGE_COUNT, COP_MULTI_MERGE_PAGE) }
00107
00108
00109 #define COP_MULTI_SWITCHER3(count1, name1, count2, name2, count3, name3)\
00110 static PRM_Default switcher[] = { \
00111 PRM_Default(count1, name1), \
00112 PRM_Default(count2, name2), \
00113 PRM_Default(count3, name3), \
00114 PRM_Default(COP_MULTI_MERGE_COUNT, COP_MULTI_MERGE_PAGE) }
00115
00116
00117 #define COP_PIXEL_EXTRAS 11
00118 #define COP_PIXEL_FIRST_EXTRAS 2
00119 #define COP_PIXEL_FRAME_EXTRAS 9
00120
00121 #define COP_PIXEL_SWITCHER(count, name) \
00122 static PRM_Default switcher[] = { \
00123 PRM_Default(count+COP_PIXEL_FIRST_EXTRAS, name),\
00124 PRM_Default(COP_PIXEL_FRAME_EXTRAS, COP_FRAME_PAGE_NAME) }
00125
00126 #define COP_PIXEL_SWITCHER2(count1, name1, count2, name2) \
00127 static PRM_Default switcher[] = { \
00128 PRM_Default(count1, name1), \
00129 PRM_Default(count2+COP_PIXEL_FIRST_EXTRAS, name2),\
00130 PRM_Default(COP_PIXEL_FRAME_EXTRAS, COP_FRAME_PAGE_NAME) }
00131
00132
00133 #define COP_MASK_EXTRAS (COP_PIXEL_FIRST_EXTRAS+5)
00134
00135 #define COP_MASK_SWITCHER(count, name) \
00136 static PRM_Default switcher[] = { \
00137 PRM_Default(count, name), \
00138 PRM_Default(COP_MASK_EXTRAS, COP_MASK_PAGE_NAME), \
00139 PRM_Default(COP_PIXEL_FRAME_EXTRAS, COP_FRAME_PAGE_NAME) }
00140
00141 #define COP_MASK_SWITCHER2(count1, name1, count2, name2) \
00142 static PRM_Default switcher[] = { \
00143 PRM_Default(count1, name1), \
00144 PRM_Default(count2, name2), \
00145 PRM_Default(COP_MASK_EXTRAS, COP_MASK_PAGE_NAME), \
00146 PRM_Default(COP_PIXEL_FRAME_EXTRAS, COP_FRAME_PAGE_NAME) }
00147
00148 #define COP_MASK_SWITCHER3(count1, name1, count2, name2, count3, name3) \
00149 static PRM_Default switcher[] = { \
00150 PRM_Default(count1, name1), \
00151 PRM_Default(count2, name2), \
00152 PRM_Default(count3, name3), \
00153 PRM_Default(COP_MASK_EXTRAS, COP_MASK_PAGE_NAME), \
00154 PRM_Default(COP_PIXEL_FRAME_EXTRAS, COP_FRAME_PAGE_NAME) }
00155
00156
00157 #define COP_PIXEL_OP_EXTRAS 2
00158
00159 #define COP_PIXEL_OP_SWITCHER(count, name) \
00160 static PRM_Default switcher[] = { \
00161 PRM_Default(count+COP_PIXEL_OP_EXTRAS, name), \
00162 PRM_Default(COP_MASK_EXTRAS, COP_MASK_PAGE_NAME), \
00163 PRM_Default(COP_PIXEL_FRAME_EXTRAS, COP_FRAME_PAGE_NAME) }
00164
00165 #define COP_PIXEL_OP_SWITCHER2(count1, name1, count2, name2) \
00166 static PRM_Default switcher[] = { \
00167 PRM_Default(count1, name1), \
00168 PRM_Default(count2+COP_PIXEL_OP_EXTRAS, name2), \
00169 PRM_Default(COP_MASK_EXTRAS, COP_MASK_PAGE_NAME), \
00170 PRM_Default(COP_PIXEL_FRAME_EXTRAS, COP_FRAME_PAGE_NAME) }
00171
00172 #define DEFAULT_COLOR_NAME "C"
00173 #define DEFAULT_RED_NAME "R"
00174 #define DEFAULT_GREEN_NAME "G"
00175 #define DEFAULT_BLUE_NAME "B"
00176
00177 #define DEFAULT_ALPHA_NAME "A"
00178 #define DEFAULT_LUMINANCE_NAME "Y"
00179 #define DEFAULT_DEPTH_NAME "Z"
00180 #define DEFAULT_STENCIL_NAME "S"
00181
00182
00183 #define IMAGE_UNIT_UV 0
00184 #define IMAGE_UNIT_PIXEL 1
00185
00186
00187 #define PLANE_MERGE_ALL 0
00188 #define PLANE_MERGE_COMMON 1
00189 #define PLANE_MERGE_FIRST 2
00190
00191
00192 #define PLANE_DEPTH_PROMOTE 0
00193 #define PLANE_DEPTH_DEMOTE 1
00194 #define PLANE_DEPTH_FIRST 2
00195 #define PLANE_DEPTH_MISMATCH_ERROR 3
00196
00197
00198 #define SEQUENCE_RANGE_TRIM_FIRST 0
00199 #define SEQUENCE_RANGE_SHIFT_FIRST 1
00200 #define SEQUENCE_RANGE_EXTEND_MAX 2
00201 #define SEQUENCE_RANGE_TRIM_MIN 3
00202
00203
00204 #define SEQUENCE_RATE_FIRST 0
00205 #define SEQUENCE_RATE_HIGHEST 1
00206 #define SEQUENCE_RATE_LOWEST 2
00207 #define SEQUENCE_RATE_MISMATCH_ERROR 3
00208
00209
00210 #define SEQUENCE_FRAME_NEAREST 0
00211 #define SEQUENCE_FRAME_PREVIOUS 1
00212 #define SEQUENCE_FRAME_NEXT 2
00213
00214
00215 #define ICON_PREVIEW_RGB 0
00216 #define ICON_PREVIEW_ALPHA 1
00217 #define ICON_PREVIEW_DEPTH 2
00218 #define ICON_PREVIEW_LUM 3
00219
00220
00221 #define COP_MULTITHREADED 0
00222 #define COP_SINGLE_THREAD 1
00223 #define COP_EXCLUSIVE_THREAD 2
00224
00225
00226 #define COP2_PARM_NONVOLITILE 0
00227 #define COP2_PARM_IMAGE 1
00228 #define COP2_PARM_TIMING 2
00229 #define COP2_PARM_ALL_VOLITILE 3
00230
00231
00232 #define SHIFT_ALIGN_START_START 0
00233 #define SHIFT_ALIGN_END_END 1
00234 #define SHIFT_ALIGN_END_START 2
00235 #define SHIFT_ALIGN_START_END 3
00236
00237 #define SHIFT_REL_TO_START 0
00238 #define SHIFT_ABS_START 1
00239 #define SHIFT_ABS_END 2
00240
00241
00242 #define TRIM_REL 0
00243 #define TRIM_ABS 1
00244 #define TRIM_SINGLE 2
00245 #define TRIM_SINGLE_START 3
00246 #define TRIM_SINGLE_END 4
00247
00248
00249 enum COP2_OpColorType {
00250 COP2_COLOR_GENERATOR,
00251 COP2_COLOR_TIMING,
00252 COP2_COLOR_PIXELOP,
00253 COP2_COLOR_VEX
00254 };
00255
00256 enum COP2_ThreadPref
00257 {
00258 COP2_THREAD_NO_PREF = 0,
00259 COP2_THREAD_SINGLE = 0x1,
00260 COP2_THREAD_MULTI = 0x2
00261 };
00262
00263 enum COP2_ColorComponent {
00264 COP2_RED,
00265 COP2_GREEN,
00266 COP2_BLUE,
00267 COP2_ALPHA,
00268 COP2_HUE,
00269 COP2_SATURATION,
00270 COP2_VALUE,
00271 COP2_LUMINANCE,
00272 COP2_NUM_COLOR_COMPONENTS
00273 };
00274
00275
00276 struct copLockInfo
00277 {
00278 copLockInfo(const char *name, int num);
00279 ~copLockInfo();
00280
00281 static int hash(const char *name);
00282
00283 char *myLockedPlane;
00284 int myLockedFrame;
00285 int myHash;
00286 };
00287
00288 #endif