OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <CoreFoundation/CoreFoundation.h> | 5 #include <CoreFoundation/CoreFoundation.h> |
6 | 6 |
7 extern "C" { | 7 extern "C" { |
8 | 8 |
9 // | 9 // |
10 // Declare CoreMedia types. | 10 // Declare CoreMedia types. |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
51 CMSampleBufferRef sbuf, | 51 CMSampleBufferRef sbuf, |
52 void *makeDataReadyRefcon); | 52 void *makeDataReadyRefcon); |
53 | 53 |
54 // | 54 // |
55 // Declare VideoToolbox types. | 55 // Declare VideoToolbox types. |
56 // | 56 // |
57 | 57 |
58 typedef struct __CVBuffer *CVBufferRef; | 58 typedef struct __CVBuffer *CVBufferRef; |
59 typedef CVBufferRef CVImageBufferRef; | 59 typedef CVBufferRef CVImageBufferRef; |
60 typedef uint32_t VTDecodeFrameFlags; | 60 typedef uint32_t VTDecodeFrameFlags; |
| 61 enum { |
| 62 kVTDecodeFrame_EnableAsynchronousDecompression = 1 << 0, |
| 63 kVTDecodeFrame_DoNotOutputFrame = 1 << 1, |
| 64 kVTDecodeFrame_1xRealTimePlayback = 1 << 2, |
| 65 kVTDecodeFrame_EnableTemporalProcessing = 1 << 3, |
| 66 }; |
61 typedef UInt32 VTDecodeInfoFlags; | 67 typedef UInt32 VTDecodeInfoFlags; |
62 typedef struct OpaqueVTDecompressionSession* VTDecompressionSessionRef; | 68 typedef struct OpaqueVTDecompressionSession* VTDecompressionSessionRef; |
63 | 69 |
64 typedef void (*VTDecompressionOutputCallback)( | 70 typedef void (*VTDecompressionOutputCallback)( |
65 void *decompressionOutputRefCon, | 71 void *decompressionOutputRefCon, |
66 void *sourceFrameRefCon, | 72 void *sourceFrameRefCon, |
67 OSStatus status, | 73 OSStatus status, |
68 VTDecodeInfoFlags infoFlags, | 74 VTDecodeInfoFlags infoFlags, |
69 CVImageBufferRef imageBuffer, | 75 CVImageBufferRef imageBuffer, |
70 CMTime presentationTimeStamp, | 76 CMTime presentationTimeStamp, |
71 CMTime presentationDuration); | 77 CMTime presentationDuration); |
72 | 78 |
73 typedef struct { | 79 typedef struct { |
74 VTDecompressionOutputCallback decompressionOutputCallback; | 80 VTDecompressionOutputCallback decompressionOutputCallback; |
75 void *decompressionOutputRefCon; | 81 void *decompressionOutputRefCon; |
76 } VTDecompressionOutputCallbackRecord; | 82 } VTDecompressionOutputCallbackRecord; |
77 | 83 |
78 } // extern "C" | 84 } // extern "C" |
OLD | NEW |