| // |
| // VideoDecoder.h |
| // DecoderWrapper |
| // |
| // Copyright 2010 Dropcam. All rights reserved. |
| // |
| |
| #import <Foundation/Foundation.h> |
| #import <CoreVideo/CoreVideo.h> |
| #import <UIKit/UIKit.h> |
| |
| #import "DecodedFrame.h" |
| |
| enum VideoCodecType { |
| kVCT_H264 |
| }; |
| |
| enum VideoColorSpace { |
| VideoColorSpaceRGB, |
| VideoColorSpaceYUV |
| }; |
| |
| typedef void (*LogCallbackfn)(int level, const char *module, const char* logLine); |
| |
| @interface VideoDecoder : NSObject |
| |
| + (void)staticInitialize; |
| + (void)registerLogCallback:(LogCallbackfn)fn; |
| |
| - (id)initWithCodec:(enum VideoCodecType)codecType |
| colorSpace:(enum VideoColorSpace)colorSpace |
| width:(int)width |
| height:(int)height |
| privateData:(NSData*)privateData |
| allowChunks:(BOOL)allowChunks; |
| |
| - (void)decodeFrame:(NSData*)frameData hasStartCode:(BOOL)hasStartCode PTS:(int64_t)PTS; |
| |
| - (BOOL)isFrameReady; |
| - (UIImage *)getDecodedRGBFrame; |
| - (DecodedFrame *)getDecodedFrame; |
| - (NSUInteger)getDecodedFrameWidth; |
| - (NSUInteger)getDecodedFrameHeight; |
| |
| @end |