Blender V2.61 - r43446
|
00001 /* 00002 * ***** BEGIN GPL LICENSE BLOCK ***** 00003 * 00004 * This program is free software; you can redistribute it and/or 00005 * modify it under the terms of the GNU General Public License 00006 * as published by the Free Software Foundation; either version 2 00007 * of the License, or (at your option) any later version. 00008 * 00009 * This program is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 * GNU General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU General Public License 00015 * along with this program; if not, write to the Free Software Foundation, 00016 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 00017 * 00018 * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. 00019 * All rights reserved. 00020 * 00021 * The Original Code is: all of this file. 00022 * 00023 * Contributor(s): none yet. 00024 * 00025 * ***** END GPL LICENSE BLOCK ***** 00026 */ 00027 00033 #ifndef __QUICKTIME_EXPORT_H__ 00034 #define __QUICKTIME_EXPORT_H__ 00035 00036 #if defined (_WIN32) || (__APPLE__) 00037 00038 #define __AIFF__ 00039 00040 00041 #define QTAUDIO_FLAG_RESAMPLE_NOHQ 1 00042 #define QTAUDIO_FLAG_CODEC_ISCBR 2 00043 00044 00045 /*Codec list*/ 00046 typedef struct QuicktimeCodecTypeDesc { 00047 int codecType; 00048 int rnatmpvalue; 00049 char * codecName; 00050 } QuicktimeCodecTypeDesc ; 00051 00052 // quicktime movie output functions 00053 struct RenderData; 00054 struct Scene; 00055 struct wmOperatorType; 00056 struct ReportList; 00057 00058 int start_qt(struct Scene *scene, struct RenderData *rd, int rectx, int recty, struct ReportList *reports); //for movie handle (BKE writeavi.c now) 00059 int append_qt(struct RenderData *rd, int frame, int *pixels, int rectx, int recty, struct ReportList *reports); 00060 void end_qt(void); 00061 void filepath_qt(char *string, struct RenderData *rd); 00062 00063 /*RNA helper functions */ 00064 void quicktime_verify_image_type(struct RenderData *rd, struct ImageFormatData *imf); //used by RNA for defaults values init, if needed 00065 /*Video codec type*/ 00066 int quicktime_get_num_videocodecs(void); 00067 QuicktimeCodecTypeDesc* quicktime_get_videocodecType_desc(int indexValue); 00068 int quicktime_rnatmpvalue_from_videocodectype(int codecType); 00069 int quicktime_videocodecType_from_rnatmpvalue(int rnatmpvalue); 00070 00071 #ifdef USE_QTKIT 00072 /*Audio codec type*/ 00073 int quicktime_get_num_audiocodecs(void); 00074 QuicktimeCodecTypeDesc* quicktime_get_audiocodecType_desc(int indexValue); 00075 int quicktime_rnatmpvalue_from_audiocodectype(int codecType); 00076 int quicktime_audiocodecType_from_rnatmpvalue(int rnatmpvalue); 00077 #endif 00078 00079 #ifndef USE_QTKIT 00080 void SCENE_OT_render_data_set_quicktime_codec(struct wmOperatorType *ot); //Operator to raise quicktime standard dialog to request codec settings 00081 #endif 00082 00083 00084 void free_qtcomponentdata(void); 00085 void makeqtstring(struct RenderData *rd, char *string); //for playanim.c 00086 00087 00088 00089 #if (defined(USE_QTKIT) && defined(MAC_OS_X_VERSION_10_6) && __LP64__) 00090 //Include the quicktime codec types constants that are missing in QTKitDefines.h in 10.6 / 64bit 00091 enum { 00092 kRawCodecType = 'raw ', 00093 kCinepakCodecType = 'cvid', 00094 kGraphicsCodecType = 'smc ', 00095 kAnimationCodecType = 'rle ', 00096 kVideoCodecType = 'rpza', 00097 kComponentVideoCodecType = 'yuv2', 00098 kJPEGCodecType = 'jpeg', 00099 kMotionJPEGACodecType = 'mjpa', 00100 kMotionJPEGBCodecType = 'mjpb', 00101 kSGICodecType = '.SGI', 00102 kPlanarRGBCodecType = '8BPS', 00103 kMacPaintCodecType = 'PNTG', 00104 kGIFCodecType = 'gif ', 00105 kPhotoCDCodecType = 'kpcd', 00106 kQuickDrawGXCodecType = 'qdgx', 00107 kAVRJPEGCodecType = 'avr ', 00108 kOpenDMLJPEGCodecType = 'dmb1', 00109 kBMPCodecType = 'WRLE', 00110 kWindowsRawCodecType = 'WRAW', 00111 kVectorCodecType = 'path', 00112 kQuickDrawCodecType = 'qdrw', 00113 kWaterRippleCodecType = 'ripl', 00114 kFireCodecType = 'fire', 00115 kCloudCodecType = 'clou', 00116 kH261CodecType = 'h261', 00117 kH263CodecType = 'h263', 00118 kDVCNTSCCodecType = 'dvc ', /* DV - NTSC and DVCPRO NTSC (available in QuickTime 6.0 or later)*/ 00119 /* NOTE: kDVCProNTSCCodecType is deprecated. */ 00120 /* Use kDVCNTSCCodecType instead -- as far as the codecs are concerned, */ 00121 /* the two data formats are identical.*/ 00122 kDVCPALCodecType = 'dvcp', 00123 kDVCProPALCodecType = 'dvpp', /* available in QuickTime 6.0 or later*/ 00124 kDVCPro50NTSCCodecType = 'dv5n', 00125 kDVCPro50PALCodecType = 'dv5p', 00126 kDVCPro100NTSCCodecType = 'dv1n', 00127 kDVCPro100PALCodecType = 'dv1p', 00128 kDVCPROHD720pCodecType = 'dvhp', 00129 kDVCPROHD1080i60CodecType = 'dvh6', 00130 kDVCPROHD1080i50CodecType = 'dvh5', 00131 kBaseCodecType = 'base', 00132 kFLCCodecType = 'flic', 00133 kTargaCodecType = 'tga ', 00134 kPNGCodecType = 'png ', 00135 kTIFFCodecType = 'tiff', /* NOTE: despite what might seem obvious from the two constants*/ 00136 /* below and their names, they really are correct. 'yuvu' really */ 00137 /* does mean signed, and 'yuvs' really does mean unsigned. Really. */ 00138 kComponentVideoSigned = 'yuvu', 00139 kComponentVideoUnsigned = 'yuvs', 00140 kCMYKCodecType = 'cmyk', 00141 kMicrosoftVideo1CodecType = 'msvc', 00142 kSorensonCodecType = 'SVQ1', 00143 kSorenson3CodecType = 'SVQ3', /* available in QuickTime 5 and later*/ 00144 kIndeo4CodecType = 'IV41', 00145 kMPEG4VisualCodecType = 'mp4v', 00146 k64ARGBCodecType = 'b64a', 00147 k48RGBCodecType = 'b48r', 00148 k32AlphaGrayCodecType = 'b32a', 00149 k16GrayCodecType = 'b16g', 00150 kMpegYUV420CodecType = 'myuv', 00151 kYUV420CodecType = 'y420', 00152 kSorensonYUV9CodecType = 'syv9', 00153 k422YpCbCr8CodecType = '2vuy', /* Component Y'CbCr 8-bit 4:2:2 */ 00154 k444YpCbCr8CodecType = 'v308', /* Component Y'CbCr 8-bit 4:4:4 */ 00155 k4444YpCbCrA8CodecType = 'v408', /* Component Y'CbCrA 8-bit 4:4:4:4 */ 00156 k422YpCbCr16CodecType = 'v216', /* Component Y'CbCr 10,12,14,16-bit 4:2:2*/ 00157 k422YpCbCr10CodecType = 'v210', /* Component Y'CbCr 10-bit 4:2:2 */ 00158 k444YpCbCr10CodecType = 'v410', /* Component Y'CbCr 10-bit 4:4:4 */ 00159 k4444YpCbCrA8RCodecType = 'r408', /* Component Y'CbCrA 8-bit 4:4:4:4, rendering format. full range alpha, zero biased yuv*/ 00160 kJPEG2000CodecType = 'mjp2', 00161 kPixletCodecType = 'pxlt', 00162 kH264CodecType = 'avc1' 00163 }; 00164 #endif 00165 00166 #endif //(_WIN32) || (__APPLE__) 00167 00168 #endif // __QUICKTIME_IMP_H__