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