170 lines
		
	
	
		
			6.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			170 lines
		
	
	
		
			6.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*
 | |
|  * ***** BEGIN GPL LICENSE BLOCK *****
 | |
|  *
 | |
|  * This program is free software; you can redistribute it and/or
 | |
|  * modify it under the terms of the GNU General Public License
 | |
|  * as published by the Free Software Foundation; either version 2
 | |
|  * of the License, or (at your option) any later version.
 | |
|  *
 | |
|  * This program is distributed in the hope that it will be useful,
 | |
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | |
|  * GNU General Public License for more details.
 | |
|  *
 | |
|  * You should have received a copy of the GNU General Public License
 | |
|  * along with this program; if not, write to the Free Software Foundation,
 | |
|  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 | |
|  *
 | |
|  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
 | |
|  * All rights reserved.
 | |
|  *
 | |
|  * The Original Code is: all of this file.
 | |
|  *
 | |
|  * Contributor(s): none yet.
 | |
|  *
 | |
|  * ***** END GPL LICENSE BLOCK *****
 | |
|  */
 | |
| 
 | |
| /** \file blender/quicktime/quicktime_export.h
 | |
|  *  \ingroup quicktime
 | |
|  */
 | |
| 
 | |
| 
 | |
| #ifndef __QUICKTIME_EXPORT_H__
 | |
| #define __QUICKTIME_EXPORT_H__
 | |
| 
 | |
| #if defined (_WIN32) || (__APPLE__)
 | |
| 
 | |
| #define __AIFF__
 | |
| 
 | |
| 
 | |
| #define QTAUDIO_FLAG_RESAMPLE_NOHQ 1
 | |
| #define QTAUDIO_FLAG_CODEC_ISCBR 2
 | |
| 
 | |
| 
 | |
| /*Codec list*/
 | |
| typedef struct QuicktimeCodecTypeDesc {
 | |
| 	int codecType;
 | |
| 	int rnatmpvalue;
 | |
| 	char * codecName;
 | |
| } QuicktimeCodecTypeDesc;
 | |
| 
 | |
| // quicktime movie output functions
 | |
| struct ImageFormatData;
 | |
| struct RenderData;
 | |
| struct ReportList;
 | |
| struct Scene;
 | |
| struct wmOperatorType;
 | |
| 
 | |
| int start_qt(struct Scene *scene, struct RenderData *rd, int rectx, int recty, struct ReportList *reports);	//for movie handle (BKE writeavi.c now)
 | |
| int append_qt(struct RenderData *rd, int start_frame, int frame, int *pixels, int rectx, int recty, struct ReportList *reports);
 | |
| void end_qt(void);
 | |
| void filepath_qt(char *string, struct RenderData *rd);
 | |
| 
 | |
| /*RNA helper functions */
 | |
| void quicktime_verify_image_type(struct RenderData *rd, struct ImageFormatData *imf); //used by RNA for defaults values init, if needed
 | |
| /*Video codec type*/
 | |
| int quicktime_get_num_videocodecs(void);
 | |
| QuicktimeCodecTypeDesc* quicktime_get_videocodecType_desc(int indexValue);
 | |
| int quicktime_rnatmpvalue_from_videocodectype(int codecType);
 | |
| int quicktime_videocodecType_from_rnatmpvalue(int rnatmpvalue);
 | |
| 
 | |
| #ifdef USE_QTKIT
 | |
| /*Audio codec type*/
 | |
| int quicktime_get_num_audiocodecs(void);
 | |
| QuicktimeCodecTypeDesc* quicktime_get_audiocodecType_desc(int indexValue);
 | |
| int quicktime_rnatmpvalue_from_audiocodectype(int codecType);
 | |
| int quicktime_audiocodecType_from_rnatmpvalue(int rnatmpvalue);
 | |
| #endif
 | |
| 
 | |
| #ifndef USE_QTKIT
 | |
| void SCENE_OT_render_data_set_quicktime_codec(struct wmOperatorType *ot); //Operator to raise quicktime standard dialog to request codec settings
 | |
| #endif
 | |
| 
 | |
| 
 | |
| void free_qtcomponentdata(void);
 | |
| void makeqtstring(struct RenderData *rd, char *string);		//for playanim.c
 | |
| 
 | |
| 
 | |
| 
 | |
| #if (defined(USE_QTKIT) && defined(MAC_OS_X_VERSION_10_6) && __LP64__)
 | |
| //Include the quicktime codec types constants that are missing in QTKitDefines.h in 10.6 / 64bit
 | |
| enum {
 | |
| 	kRawCodecType						= 'raw ',
 | |
| 	kCinepakCodecType 					= 'cvid',
 | |
| 	kGraphicsCodecType					= 'smc ',
 | |
| 	kAnimationCodecType 				= 'rle ',
 | |
| 	kVideoCodecType 					= 'rpza',
 | |
| 	kComponentVideoCodecType			= 'yuv2',
 | |
| 	kJPEGCodecType						= 'jpeg',
 | |
| 	kMotionJPEGACodecType 				= 'mjpa',
 | |
| 	kMotionJPEGBCodecType 				= 'mjpb',
 | |
| 	kSGICodecType 						= '.SGI',
 | |
| 	kPlanarRGBCodecType 				= '8BPS',
 | |
| 	kMacPaintCodecType					= 'PNTG',
 | |
| 	kGIFCodecType 						= 'gif ',
 | |
| 	kPhotoCDCodecType 					= 'kpcd',
 | |
| 	kQuickDrawGXCodecType 				= 'qdgx',
 | |
| 	kAVRJPEGCodecType 					= 'avr ',
 | |
| 	kOpenDMLJPEGCodecType 				= 'dmb1',
 | |
| 	kBMPCodecType 						= 'WRLE',
 | |
| 	kWindowsRawCodecType				= 'WRAW',
 | |
| 	kVectorCodecType					= 'path',
 | |
| 	kQuickDrawCodecType 				= 'qdrw',
 | |
| 	kWaterRippleCodecType 				= 'ripl',
 | |
| 	kFireCodecType						= 'fire',
 | |
| 	kCloudCodecType 					= 'clou',
 | |
| 	kH261CodecType						= 'h261',
 | |
| 	kH263CodecType						= 'h263',
 | |
| 	kDVCNTSCCodecType					= 'dvc ',	/* DV - NTSC and DVCPRO NTSC (available in QuickTime 6.0 or later)*/
 | |
| 	/* NOTE: kDVCProNTSCCodecType is deprecated.	*/
 | |
| 	/* Use kDVCNTSCCodecType instead -- as far as the codecs are concerned, */
 | |
| 	/* the two data formats are identical.*/
 | |
| 	kDVCPALCodecType					= 'dvcp',
 | |
| 	kDVCProPALCodecType 				= 'dvpp',	/* available in QuickTime 6.0 or later*/
 | |
| 	kDVCPro50NTSCCodecType				= 'dv5n',
 | |
| 	kDVCPro50PALCodecType 				= 'dv5p',
 | |
| 	kDVCPro100NTSCCodecType 			= 'dv1n',
 | |
| 	kDVCPro100PALCodecType				= 'dv1p',
 | |
| 	kDVCPROHD720pCodecType				= 'dvhp',
 | |
| 	kDVCPROHD1080i60CodecType			= 'dvh6',
 | |
| 	kDVCPROHD1080i50CodecType			= 'dvh5',
 | |
| 	kBaseCodecType						= 'base',
 | |
| 	kFLCCodecType 						= 'flic',
 | |
| 	kTargaCodecType 					= 'tga ',
 | |
| 	kPNGCodecType 						= 'png ',
 | |
| 	kTIFFCodecType						= 'tiff',	/* NOTE: despite what might seem obvious from the two constants*/
 | |
| 	/* below and their names, they really are correct. 'yuvu' really */
 | |
| 	/* does mean signed, and 'yuvs' really does mean unsigned. Really. */
 | |
| 	kComponentVideoSigned 				= 'yuvu',
 | |
| 	kComponentVideoUnsigned 			= 'yuvs',
 | |
| 	kCMYKCodecType						= 'cmyk',
 | |
| 	kMicrosoftVideo1CodecType			= 'msvc',
 | |
| 	kSorensonCodecType					= 'SVQ1',
 | |
| 	kSorenson3CodecType 				= 'SVQ3',	/* available in QuickTime 5 and later*/
 | |
| 	kIndeo4CodecType					= 'IV41',
 | |
| 	kMPEG4VisualCodecType 				= 'mp4v',
 | |
| 	k64ARGBCodecType					= 'b64a',
 | |
| 	k48RGBCodecType 					= 'b48r',
 | |
| 	k32AlphaGrayCodecType 				= 'b32a',
 | |
| 	k16GrayCodecType					= 'b16g',
 | |
| 	kMpegYUV420CodecType				= 'myuv',
 | |
| 	kYUV420CodecType					= 'y420',
 | |
| 	kSorensonYUV9CodecType				= 'syv9',
 | |
| 	k422YpCbCr8CodecType				= '2vuy',	/* Component Y'CbCr 8-bit 4:2:2	*/
 | |
| 	k444YpCbCr8CodecType				= 'v308',	/* Component Y'CbCr 8-bit 4:4:4	*/
 | |
| 	k4444YpCbCrA8CodecType				= 'v408',	/* Component Y'CbCrA 8-bit 4:4:4:4 */
 | |
| 	k422YpCbCr16CodecType 				= 'v216',	/* Component Y'CbCr 10,12,14,16-bit 4:2:2*/
 | |
| 	k422YpCbCr10CodecType 				= 'v210',	/* Component Y'CbCr 10-bit 4:2:2 */
 | |
| 	k444YpCbCr10CodecType 				= 'v410',	/* Component Y'CbCr 10-bit 4:4:4 */
 | |
| 	k4444YpCbCrA8RCodecType 			= 'r408',	/* Component Y'CbCrA 8-bit 4:4:4:4, rendering format. full range alpha, zero biased yuv*/
 | |
| 	kJPEG2000CodecType					= 'mjp2',
 | |
| 	kPixletCodecType					= 'pxlt',
 | |
| 	kH264CodecType						= 'avc1'
 | |
| };
 | |
| #endif
 | |
| 
 | |
| #endif //(_WIN32) || (__APPLE__)
 | |
| 
 | |
| #endif  // __QUICKTIME_IMP_H__
 |