美摄SDK For iOS  3.7.2
NvsEffectRenderCore.h
浏览该文件的文档.
1 //================================================================================
2 //
3 // (c) Copyright China Digital Video (Beijing) Limited, 2016. All rights reserved.
4 //
5 // This code and information is provided "as is" without warranty of any kind,
6 // either expressed or implied, including but not limited to the implied
7 // warranties of merchantability and/or fitness for a particular purpose.
8 //
9 //--------------------------------------------------------------------------------
10 // Birth Date: Sep 10. 2019
11 // Author: NewAuto video team
12 //================================================================================
13 
14 #pragma once
15 
16 #import <Foundation/Foundation.h>
17 #import "NvsEffectCommonDef.h"
18 #import <CoreVideo/CVPixelBuffer.h>
19 
20 @class NvsEffect;
21 
22 typedef enum {
29 
30 typedef enum {
38 
39 typedef enum {
44 
53 #define NVS_EFFECT_DISPLAY_ROTATION @"display_rotation"
55 #define NVS_EFFECT_PHYSICAL_ORIENTATION @"physical_orientation"
56 #define NVS_EFFECT_FLIP_HORIZONTALLY @"flip_horizontally"
57 #define NVS_EFFECT_TIMESTAMP @"timestamp"
58 #define NVS_EFFECT_FLAGS @"flags"
59 #define NVS_EFFECT_OUTPUT_FRAME_FORMAT @"output_frame_format"
60 #define NVS_EFFECT_IS_BT601 @"is_bt.601"
61 
64 
76 NVS_EXPORT @interface NvsEffectRenderCore : NSObject
77 
87 - (BOOL)initialize;
88 
101 - (BOOL)initializeWithFlags:(int)falgs;
102 
110 - (void)cleanUp;
111 
133 - (NvsEffectCoreError)renderEffect:(NvsEffect *)effect
134  inputTexId:(int)inputTexId
135  inputVideoResolution:(NvsEffectVideoResolution *)inputVideoResolution
136  outputTexId:(int)outputTexId
137  timestamp:(int64_t)timestamp
138  flags:(NvsRenderFlag)flags;
139 
165 - (NvsEffectCoreError)renderEffect:(NvsEffect *)effect
166  inputTexId:(int)inputTexId
167  inputBuddyBuffer:(const NvsEffectVideoFrameInfo*)inputBuddyBuffer
168  physicalOrientation:(int)physicalOrientation
169  inputVideoResolution:(NvsEffectVideoResolution *)inputVideoResolution
170  outputTexId:(int)outputTexId
171  timestamp:(int64_t)timestamp
172  flags:(NvsRenderFlag)flags;
173 
199 - (NvsEffectCoreError)renderEffects:(NSArray<NvsEffect *>*)effects
200  inputTexId:(int)inputTexId
201  inputBuddyBuffer:(const NvsEffectVideoFrameInfo*)inputBuddyBuffer
202  physicalOrientation:(int)physicalOrientation
203  inputVideoResolution:(NvsEffectVideoResolution *)inputVideoResolution
204  outputTexId:(int)outputTexId
205  timestamp:(int64_t)timestamp
206  flags:(NvsRenderFlag)flags;
207 
234 - (NvsEffectCoreError)renderEffects:(NSArray<NvsEffect *>*)effects
235  inputImage:(CVPixelBufferRef)inputImage
236  displayRotation:(int)displayRotation
237  isFlipHorizontally:(BOOL)isFlip
238  physicalOrientation:(int)physicalOrientation
239  outputTexId:(int)outputTexId
240  timestamp:(int64_t)timestamp
241  flags:(NvsRenderFlag)flags;
242 
272 - (NvsEffectCoreError)renderEffect:(NvsEffect *)effect
273  inputImage:(CVPixelBufferRef)inputImage
274  displayRotation:(int)rotation
275  isFlipHorizontally:(BOOL)isFlip
276  timestamp:(int64_t)timestamp
277  flags:(NvsRenderFlag)flags
278  outputFrameFormat:(NvsEffectVideoFramePixelFormat)format
279  outputFrameIsBT601:(BOOL)is601
280  outputImage:(CVPixelBufferRef*)ouputImage;
281 
311 - (NvsEffectCoreError)renderEffects:(NSArray<NvsEffect *>*)effects
312  inputImage:(CVPixelBufferRef)inputImage
313  displayRotation:(int)rotation
314  isFlipHorizontally:(BOOL)isFlip
315  timestamp:(int64_t)timestamp
316  flags:(NvsRenderFlag)flags
317  outputFrameFormat:(NvsEffectVideoFramePixelFormat)ouputFrameformat
318  outputFrameIsBT601:(BOOL)is601
319  outputImage:(CVPixelBufferRef*)ouputImage;
320 
340 - (NvsEffectCoreError)renderEffects:(NSArray<NvsEffect *>*)effects
341  inputImage:(CVPixelBufferRef)inputImage
342  outputImage:(CVPixelBufferRef*)ouputImage
343  options:(NSMutableDictionary *)options;
344 
345 
369 - (NvsEffectCoreError)renderEffect:(NvsEffect *)effect
370  inputTexIds:(NSArray*)inputTextures
371  inputVideoResolution:(NvsEffectVideoResolution *)inputVideoResolution
372  outputTexId:(int)outputTexId
373  timestamp:(int64_t)timestamp
374  flags:(NvsRenderFlag)flags;
375 
385 - (void)clearEffectResources:(NvsEffect *)effect;
386 
394 - (void)clearCacheResources;
395 
411 -(NvsEffectCoreError)uploadPixelBufferToTexture:(CVPixelBufferRef)frameBuffer displayRotation:(int)rotation horizontalFlip:(BOOL)flip outputTexId:(int)outputTexId;
412 
428 -(NvsEffectCoreError)uploadPixelBufferToTexture:(CVPixelBufferRef)frameBuffer horizontalFlip:(BOOL)flip outputTexId:(int)outputTexId;
429 
449 -(NvsEffectCoreError)downloadPixelBufferFromTexture:(int)inputTexId
450  inputVideoResolution:(NvsEffectVideoResolution *)inputVideoResolution
451  outputFrameFormat:(NvsEffectVideoFramePixelFormat)format
452  isBT601:(BOOL)is601
453  outputFrame:(CVPixelBufferRef*)frameBuffer;
454 
455 @end
NvsEffectCoreError
NvsEffectCoreError
Definition: NvsEffectRenderCore.h:22
NvsEffectCoreError_Unknown
@ NvsEffectCoreError_Unknown
Definition: NvsEffectRenderCore.h:24
NvsRenderFlag
NvsRenderFlag
Definition: NvsEffectRenderCore.h:39
-[NvsEffectRenderCore initialize]
BOOL initialize()
初始化
NvsEffectCoreError_InvalidPixelFormat
@ NvsEffectCoreError_InvalidPixelFormat
Definition: NvsEffectRenderCore.h:26
NvsInitializeFlags
NvsInitializeFlags
Definition: NvsEffectRenderCore.h:30
NvsRenderFlags_InputTextureIsFlipHorizontally
@ NvsRenderFlags_InputTextureIsFlipHorizontally
Definition: NvsEffectRenderCore.h:42
NvsEffectCoreError_InvalidTexture
@ NvsEffectCoreError_InvalidTexture
Definition: NvsEffectRenderCore.h:25
NvsEffectVideoFramePixelFormat
NvsEffectVideoFramePixelFormat
视频帧像素格式
Definition: NvsEffectCommonDef.h:86
NvsRenderFlag_NoFlag
@ NvsRenderFlag_NoFlag
Definition: NvsEffectRenderCore.h:40
NvsEffectCoreError_NoError
@ NvsEffectCoreError_NoError
Definition: NvsEffectRenderCore.h:23
NvsInitializeFlag_SUPPORT_4K
@ NvsInitializeFlag_SUPPORT_4K
Definition: NvsEffectRenderCore.h:34
NvsEffectVideoFrameInfo
视频帧信息
Definition: NvsEffectCommonDef.h:100
-[NvsEffectRenderCore clearCacheResources]
void clearCacheResources()
清除缓存资源
-[NvsEffectRenderCore cleanUp]
void cleanUp()
清除NvsEffectRenderCore中的所有资源
NvsInitializeFlag_SUPPORT_8K
@ NvsInitializeFlag_SUPPORT_8K
Definition: NvsEffectRenderCore.h:35
NvsInitializeFlag_NoFlag
@ NvsInitializeFlag_NoFlag
Definition: NvsEffectRenderCore.h:31
NvsEffectCoreError_NotInitialized
@ NvsEffectCoreError_NotInitialized
Definition: NvsEffectRenderCore.h:27
NVS_EXPORT
#define NVS_EXPORT
Definition: NvsCommonDef.h:20
NvsEffect
特效
Definition: NvsEffect.h:46
NvsEffectVideoResolution
视频解析度
Definition: NvsEffectCommonDef.h:39
NvsEffectCommonDef.h
NvsInitializeFlag_CreateGLContextIfNeed
@ NvsInitializeFlag_CreateGLContextIfNeed
Definition: NvsEffectRenderCore.h:33
NvsEffectRenderCore
特效渲染类
Definition: NvsEffectRenderCore.h:77
NvsRenderFlag_IsUpsideDownTexture
@ NvsRenderFlag_IsUpsideDownTexture
Definition: NvsEffectRenderCore.h:41
NvsInitializeFlag_InSingleGLThread
@ NvsInitializeFlag_InSingleGLThread
Definition: NvsEffectRenderCore.h:32
NvsInitializeFlag_SUPPORT_16K
@ NvsInitializeFlag_SUPPORT_16K
Definition: NvsEffectRenderCore.h:36