vvopensource
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Properties Macros Groups Pages
HapSupport.h
1 /*
2  HapSupport.h
3  Hap QuickTime Playback
4 
5  Copyright (c) 2012-2013, Tom Butterworth and Vidvox LLC. All rights reserved.
6  Redistribution and use in source and binary forms, with or without
7  modification, are permitted provided that the following conditions are met:
8 
9  * Redistributions of source code must retain the above copyright
10  notice, this list of conditions and the following disclaimer.
11 
12  * Redistributions in binary form must reproduce the above copyright
13  notice, this list of conditions and the following disclaimer in the
14  documentation and/or other materials provided with the distribution.
15 
16  * Neither the name of Hap nor the name of its contributors
17  may be used to endorse or promote products derived from this software
18  without specific prior written permission.
19 
20  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
21  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
22  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
24  DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
25  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
26  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
27  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
29  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30  */
31 
32 
33 
34 
35 #if __LP64__
36 //#error Hap QuickTime support requires 32-bit QuickTime APIs but this target is 64-bit
37 #else
38 
39 
40 #ifndef QTMultiGPUTextureIssue_HapSupport_h
41 #define QTMultiGPUTextureIssue_HapSupport_h
42 
43 
44 
45 
46 #import <CoreFoundation/CoreFoundation.h>
47 #import <QuickTime/QuickTime.h>
48 
49 
50 
54 #define kHapPixelFormatTypeRGB_DXT1 'DXt1'
55 #define kHapPixelFormatTypeRGBA_DXT5 'DXT5'
56 #define kHapPixelFormatTypeYCoCg_DXT5 'DYt5'
57 
58 /*
59  These are the four-character-codes used to designate the three Hap codecs
60  */
61 #define kHapCodecSubType 'Hap1'
62 #define kHapAlphaCodecSubType 'Hap5'
63 #define kHapYCoCgCodecSubType 'HapY'
64 
68 Boolean HapQTQuickTimeMovieHasHapTrackPlayable(Movie movie);
69 
70 #ifdef __OBJC__
71 
74 #define HapQTMovieHasHapTrackPlayable(m) ((BOOL)HapQTQuickTimeMovieHasHapTrackPlayable([(m) quickTimeMovie]))
75 #endif
76 
81 CFDictionaryRef HapQTCreateCVPixelBufferOptionsDictionary();
82 
83 
84 
85 
86 #endif // ifndef QTMultiGPUTextureIssue_HapSupport_h
87 
88 #endif // ifndef __LP64__