特效渲染类
更多...
#import <NvsEffectRenderCore.h>
特效渲染类
特效渲染类整个SDK的特效渲染入口。
- 警告
- NvsEffectRenderCore类中,所有public API都必须在OpenGL线程使用!!!
◆ cleanUp
清除NvsEffectRenderCore中的所有资源
- 自从
- 2.14.0
◆ clearCacheResources
- (void) clearCacheResources |
|
|
|
◆ clearEffectResources:
- (void) clearEffectResources: |
|
(NvsEffect *) |
effect |
|
清除特效中携带的OPenGL资源
- 参数
-
- 自从
- 2.3.0
◆ downloadPixelBufferFromTexture:inputVideoResolution:outputFrameFormat:isBT601:outputFrame:
从GPU纹理下传到buffer
- 参数
-
inputTexId | 输入纹理 |
inputVideoResolution | 输入纹理的视频解析度 |
outputFrameFormat | 返回下传的buffer格式(BGRA or YUV420 format) |
isBT601 | 是否按照BT.601的标准转化,如果返回下传的buffer格式为YUV,这个参数有意义 |
frameBuffer | 返回下传的buffer(BGRA or YUV420 format) |
- 返回
- 返回NvsEffectCoreError_NoError为成功,其他值都是错误,参考错误码定义
- 自从
- 2.12.0
◆ initialize
初始化
- 返回
- 成功返回YES,失败返回NO
- 自从
- 2.3.0
◆ initializeWithFlags:
- (BOOL) initializeWithFlags: |
|
(int) |
falgs |
|
初始化 如果标志为NvsInitializeFlag_CreateGLContextIfNeed,如果当前的线程没有GLContext,SDK内部会创建GLContext,这个renderCore中的所有API,需要在这个线程中调用
- 参数
-
falgs | 参考NvsInitializeFlags |
- 返回
- 成功返回YES,失败返回NO
- 自从
- 2.3.0
◆ renderEffect:inputImage:displayRotation:isFlipHorizontally:timestamp:flags:outputFrameFormat:outputFrameIsBT601:outputImage:
- (NvsEffectCoreError) renderEffect: |
|
(NvsEffect *) |
effect |
inputImage: |
|
(CVPixelBufferRef) |
inputImage |
displayRotation: |
|
(int) |
rotation |
isFlipHorizontally: |
|
(BOOL) |
isFlip |
timestamp: |
|
(int64_t) |
timestamp |
flags: |
|
(NvsRenderFlag) |
flags |
outputFrameFormat: |
|
(NvsEffectVideoFramePixelFormat) |
format |
outputFrameIsBT601: |
|
(BOOL) |
is601 |
outputImage: |
|
(CVPixelBufferRef *) |
ouputImage |
|
|
| |
渲染特效 【特别注意】必须和initialize在同一个线程中使用。如果使用的线程没有OpenGL环境,在调用initializeWithFlags必须带有NvsInitializeFlag_CreateGLContextIfNeed
- 参数
-
effect | 要渲染的特效对象 |
inputImage | 输入图像 |
rotation | 输入图像旋转角度,只能是0, 90, 180, 270 |
isFlip | 是否需要横向翻转 |
timestamp | 当前渲染的时间戳 |
flags | 暂时为0 |
format | 输出图像格式请参数 NvsEffectVideoFramePixelFormat |
is601 | 如果输出图像是Nv12或者YUV420P格式才有意义 |
ouputImage | 输出图像数据 |
- 返回
- 返回NvsEffectCoreError_NoError为成功,其他值都是错误,参考错误码定义
- 自从
- 2.14.0
◆ renderEffect:inputTexId:inputBuddyBuffer:physicalOrientation:inputVideoResolution:outputTexId:timestamp:flags:
渲染特效
- 参数
-
effect | 要渲染的特效对象 |
inputTexId | 输入纹理 |
inputBuddyBuffer | 输入纹理的伴随buffer(支持NV12或BGRA或YUV420格式) |
physicalOrientation | 设备方向 |
inputVideoResolution | 输入纹理的视频解析度 |
outputTexId | 输出纹理 |
timestamp | 当前渲染的时间戳 |
flags | 暂时为0 |
- 返回
- 返回NvsEffectCoreError_NoError为成功,其他值都是错误,参考错误码定义
- 自从
- 2.5.0
◆ renderEffect:inputTexId:inputVideoResolution:outputTexId:timestamp:flags:
渲染特效
- 参数
-
effect | 要渲染的特效对象 |
inputTexId | 输入纹理 |
inputVideoResolution | 输入纹理的视频解析度 |
outputTexId | 输出纹理 |
timestamp | 当前渲染的时间戳 |
flags | 暂时为0 |
- 返回
- 返回NvsEffectCoreError_NoError为成功,其他值都是错误,参考错误码定义
- 自从
- 2.3.0
◆ renderEffect:inputTexIds:inputVideoResolution:outputTexId:timestamp:flags:
渲染特效 渲染需要多个输入的Texture的特效,多个输入texture的大小都必须一致
- 参数
-
effect | 要渲染的特效对象 |
inputTextures | 输入图像组 |
inputVideoResolution | 输入纹理的视频解析度 |
outputTexId | 输出纹理 |
timestamp | 当前渲染的时间戳 |
flags | 暂时为0 |
- 返回
- 返回NvsEffectCoreError_NoError为成功,其他值都是错误,参考错误码定义
- 自从
- 2.14.0
◆ renderEffects:inputImage:displayRotation:isFlipHorizontally:physicalOrientation:outputTexId:timestamp:flags:
- (NvsEffectCoreError) renderEffects: |
|
(NSArray< NvsEffect * > *) |
effects |
inputImage: |
|
(CVPixelBufferRef) |
inputImage |
displayRotation: |
|
(int) |
displayRotation |
isFlipHorizontally: |
|
(BOOL) |
isFlip |
physicalOrientation: |
|
(int) |
physicalOrientation |
outputTexId: |
|
(int) |
outputTexId |
timestamp: |
|
(int64_t) |
timestamp |
flags: |
|
(NvsRenderFlag) |
flags |
|
|
| |
渲染特效 【特别注意】必须和initialize在同一个线程中使用。如果使用的线程没有OpenGL环境,在调用initializeWithFlags必须带有NvsInitializeFlag_CreateGLContextIfNeed
- 参数
-
effects | 要渲染的特效对象 |
inputImage | 输入图像 |
displayRotation | 输入图像旋转角度,只能是0, 90, 180, 270 |
isFlip | 是否需要横向翻转 |
physicalOrientation | 设备方向 |
outputTexId | 输出纹理 |
timestamp | 当前渲染的时间戳 |
flags | 暂时为0 |
- 返回
- 返回NvsEffectCoreError_NoError为成功,其他值都是错误,参考错误码定义
- 自从
- 3.7.1
◆ renderEffects:inputImage:displayRotation:isFlipHorizontally:timestamp:flags:outputFrameFormat:outputFrameIsBT601:outputImage:
- (NvsEffectCoreError) renderEffects: |
|
(NSArray< NvsEffect * > *) |
effects |
inputImage: |
|
(CVPixelBufferRef) |
inputImage |
displayRotation: |
|
(int) |
rotation |
isFlipHorizontally: |
|
(BOOL) |
isFlip |
timestamp: |
|
(int64_t) |
timestamp |
flags: |
|
(NvsRenderFlag) |
flags |
outputFrameFormat: |
|
(NvsEffectVideoFramePixelFormat) |
ouputFrameformat |
outputFrameIsBT601: |
|
(BOOL) |
is601 |
outputImage: |
|
(CVPixelBufferRef *) |
ouputImage |
|
|
| |
渲染特效 【特别注意】必须和initialize在同一个线程中使用。如果使用的线程没有OpenGL环境,在调用initializeWithFlags必须带有NvsInitializeFlag_CreateGLContextIfNeed
- 参数
-
effects | 要渲染的特效对象 |
inputImage | 输入图像 |
rotation | 输入图像旋转角度,只能是0, 90, 180, 270 |
isFlip | 是否需要横向翻转 |
timestamp | 当前渲染的时间戳 |
flags | 暂时为0 |
format | 输出图像格式请参数 NvsEffectVideoFramePixelFormat |
is601 | 如果输出图像是Nv12或者YUV420P格式才有意义 |
ouputImage | 输出图像数据 |
- 返回
- 返回NvsEffectCoreError_NoError为成功,其他值都是错误,参考错误码定义
- 自从
- 2.14.0
◆ renderEffects:inputImage:outputImage:options:
- (NvsEffectCoreError) renderEffects: |
|
(NSArray< NvsEffect * > *) |
effects |
inputImage: |
|
(CVPixelBufferRef) |
inputImage |
outputImage: |
|
(CVPixelBufferRef *) |
ouputImage |
options: |
|
(NSMutableDictionary *) |
options |
|
|
| |
渲染特效 【特别注意】必须和initialize在同一个线程中使用。如果使用的线程没有OpenGL环境,在调用initializeWithFlags必须带有NvsInitializeFlag_CreateGLContextIfNeed
- 参数
-
effects | 要渲染的特效对象 |
inputImage | 输入图像 |
ouputImage | 输出图像数据 |
options | 渲染参数,详见:渲染参数 |
- 返回
- 返回NvsEffectCoreError_NoError为成功,其他值都是错误,参考错误码定义
- 自从
- 2.14.0
◆ renderEffects:inputTexId:inputBuddyBuffer:physicalOrientation:inputVideoResolution:outputTexId:timestamp:flags:
渲染特效
- 参数
-
effects | 要渲染的特效对象 |
inputTexId | 输入纹理 |
inputBuddyBuffer | 输入纹理的伴随buffer(支持NV12或BGRA或YUV420格式) |
physicalOrientation | 设备方向 |
inputVideoResolution | 输入纹理的视频解析度 |
outputTexId | 输出纹理 |
timestamp | 当前渲染的时间戳 |
flags | 暂时为0 |
- 返回
- 返回NvsEffectCoreError_NoError为成功,其他值都是错误,参考错误码定义
- 自从
- 3.7.0
◆ uploadPixelBufferToTexture:displayRotation:horizontalFlip:outputTexId:
- (NvsEffectCoreError) uploadPixelBufferToTexture: |
|
(CVPixelBufferRef) |
frameBuffer |
displayRotation: |
|
(int) |
rotation |
horizontalFlip: |
|
(BOOL) |
flip |
outputTexId: |
|
(int) |
outputTexId |
|
|
| |
上传buffer到GPU纹理
- 参数
-
frameBuffer | 需要上传buffer(支持NV12) |
horizontalFlip | 是否横向反转 |
outputTexId | 输出纹理 |
- 返回
- 返回NvsEffectCoreError_NoError为成功,其他值都是错误,参考错误码定义
- 自从
- 2.12.0
◆ uploadPixelBufferToTexture:horizontalFlip:outputTexId:
- (NvsEffectCoreError) uploadPixelBufferToTexture: |
|
(CVPixelBufferRef) |
frameBuffer |
horizontalFlip: |
|
(BOOL) |
flip |
outputTexId: |
|
(int) |
outputTexId |
|
|
| |
上传buffer到GPU纹理
- 参数
-
frameBuffer | 需要上传buffer(支持NV12) |
horizontalFlip | 是否横向反转 |
outputTexId | 输出纹理 |
- 返回
- 返回NvsEffectCoreError_NoError为成功,其他值都是错误,参考错误码定义
- 自从
- 2.12.0
该类的文档由以下文件生成: