MeiCam SDK For iOS  3.14.0
NvsEffectSdkContext.h
Go to the documentation of this file.
1 //================================================================================
2 //
3 // (c) Copyright Meishe Co. Ltd, 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 6. 2018
11 // Author: Meishe video team
12 //================================================================================
13 #pragma once
14 
15 #import <Foundation/Foundation.h>
17 #import "NvsVideoEffect.h"
22 #import "NvsEffectRenderCore.h"
23 #import "NvsEffectCommonDef.h"
24 
31 typedef enum {
34 
41 typedef enum {
62 
71 #define HUMAN_DETECTION_OPTIONS_FACE_DETECT_THREAD_NUM @"Face Detect Thread Num"
73 #define HUMAN_DETECTION_OPTIONS_FACE_LANDMARK_THREAD_NUM @"Face Landmark Thread Num"
74 #define HUMAN_DETECTION_OPTIONS_FACE_TRACK_THREAD_NUM @"Face Track Thread Num"
75 #define HUMAN_DETECTION_OPTIONS_SKY_SEGMENTATION_THREAD_NUM @"Sky Segmentation Thread Num"
76 
78 
84 typedef enum {
91  NvsEffectSdkHumanDetectionDataType_Makeup2, // deprecated, replaced by NvsHumanDetectionDataType_FaceCommon
95 
97 @optional
98 
110 - (void)onDebugLogArrived:(int)level logStr:(NSString*)logStr;
111 @end
112 
119 NVS_EXPORT @interface NvsEffectSdkContext : NSObject
120 
122 
133 + (BOOL)verifySdkLicenseFile:(NSString *)sdkLicenseFilePath;
134 
135 + (void)setDebugLogDelegate:(id<NvsEffectSdkContextDebugLogDelegate>)debugLogDelegate;
145 + (NvsEffectSdkContext *)sharedInstance:(NvsEffectSdkContextFlag)flags;
146 
154 + (void)destroyInstance;
155 
165 + (int)hasARModule;
166 
182 + (BOOL)initHumanDetection:(NSString *)modelFilePath
183  licenseFilePath:(NSString *)licenseFilePath
184  features:(int)features;
185 
202 + (BOOL)initHumanDetection:(NSString *)modelFilePath
203  licenseFilePath:(NSString *)licenseFilePath
204  features:(int)features
205  options:(NSMutableDictionary *)options;
206 
220 + (BOOL)initHumanDetectionExt:(NSString *)modelFilePath
221  licenseFilePath:(NSString *)licenseFilePath
222  features:(int)features;
223 
239 + (BOOL)initHumanDetectionExt:(NSString *)modelFilePath
240  licenseFilePath:(NSString *)licenseFilePath
241  features:(int)features
242  options:(NSMutableDictionary *)options;
243 
257 + (BOOL)setupHumanDetectionData:(int)dataType
258  dataFilePath:(NSString *)dataFilePath;
259 
267 + (void)closeHumanDetection;
268 
282 + (void)getSdkVersion:(int *)majorVersion minorVersion:(int *)minorVersion revisionNumber:(int *)revisionNumber;
283 
292 - (NSArray *)getAllBuiltinVideoFxNames;
293 
306 - (NvsVideoEffect *)createVideoEffect:(NSString *)effectId aspectRatio:(NvsEffectRational)aspectRatio;
307 
322 - (NvsVideoEffect *)createVideoEffect:(NSString *)effectId aspectRatio:(NvsEffectRational)aspectRatio realTime:(BOOL)realTime;
323 
337 - (NvsVideoEffectTransition *)createVideoTransition:(NSString *)transitionId aspectRatio:(NvsEffectRational)aspectRatio;
338 
357 - (NvsVideoEffectAnimatedSticker *)createAnimatedSticker:(int64_t)inPoint duration:(int64_t)duration isPanoramic:(bool)isPanoramic packageId:(NSString *)packageId aspectRatio:(NvsEffectRational)aspectRatio;
358 
379 - (NvsVideoEffectAnimatedSticker *)createCustomAnimatedSticker:(int64_t)inPoint duration:(int64_t)duration isPanoramic:(bool)isPanoramic packageId:(NSString *)packageId customImageFilePath:(NSString *)customImageFilePath aspectRatio:(NvsEffectRational)aspectRatio;
380 
397 - (NvsVideoEffectCompoundCaption *)createCompoundCaption:(int64_t)inPoint duration:(int64_t)duration packageId:(NSString *)packageId aspectRatio:(NvsEffectRational)aspectRatio;
398 
415 - (NvsVideoEffectCompoundCaption *)createPanoramicCompoundCaption:(int64_t)inPoint duration:(int64_t)duration packageId:(NSString *)packageId aspectRatio:(NvsEffectRational)aspectRatio;
416 
442 - (NvsVideoEffectCaption *)createCaption:(NSString *)captionText inPoint:(int64_t)inPoint duration:(int64_t)duration captionStylePackageId:(NSString *)captionStylePackageId aspectRatio:(NvsEffectRational)aspectRatio;
443 
469 - (NvsVideoEffectCaption *)createPanoramicCaption:(NSString *)captionText inPoint:(int64_t)inPoint duration:(int64_t)duration captionStylePackageId:(NSString *)captionStylePackageId aspectRatio:(NvsEffectRational)aspectRatio;
470 
494 - (NvsVideoEffectCaption *)createModularCaption:(NSString *)captionText inPoint:(int64_t)inPoint duration:(int64_t)duration aspectRatio:(NvsEffectRational)aspectRatio;
495 
519 - (NvsVideoEffectCaption *)createPanoramicModularCaption:(NSString *)captionText inPoint:(int64_t)inPoint duration:(int64_t)duration aspectRatio:(NvsEffectRational)aspectRatio;
520 
530 
540 - (NSString *)registerFontByFilePath:(NSString *)filePath;
541 
549 - (void)UnregisterFontByFilePath:(NSString *)filePath;
550 
563 + (BOOL)functionalityAuthorised:(NSString *)sdkFunctionName;
566 @end
NvsVideoEffect.h
NvsEffectSdkHumanDetectionFeature_HandAction
@ NvsEffectSdkHumanDetectionFeature_HandAction
Definition: NvsEffectSdkContext.h:53
NvsVideoEffectAnimatedSticker
Animated sticker class.
Definition: NvsVideoEffectAnimatedSticker.h:35
NvsEffectSdkHumanDetectionDataType_SkinColor
@ NvsEffectSdkHumanDetectionDataType_SkinColor
Definition: NvsEffectSdkContext.h:87
NvsEffectSdkHumanDetectionFeature_MultiDetect
@ NvsEffectSdkHumanDetectionFeature_MultiDetect
Definition: NvsEffectSdkContext.h:56
NvsVideoEffectTransition.h
NvsEffectSdkHumanDetectionDataType_Makeup2
@ NvsEffectSdkHumanDetectionDataType_Makeup2
Definition: NvsEffectSdkContext.h:91
NvsVideoEffectCaption
captions.
Definition: NvsVideoEffectCaption.h:119
NvsEffectSdkHumanDetectionFeature_FaceAttriShape
@ NvsEffectSdkHumanDetectionFeature_FaceAttriShape
Definition: NvsEffectSdkContext.h:60
NvsEffectRenderCore.h
-[NvsEffectSdkContext getAllBuiltinVideoFxNames]
NSArray * getAllBuiltinVideoFxNames()
Gets a list of all build-in video effects' names.
NvsEffectRational
Rational value.
Definition: NvsEffectCommonDef.h:28
NvsEffectSdkContextDebugLogDelegate-p
Definition: NvsEffectSdkContext.h:96
NvsEffectSdkHumanDetectionDataType_FaceCommon
@ NvsEffectSdkHumanDetectionDataType_FaceCommon
Definition: NvsEffectSdkContext.h:92
NvsEffectSdkHumanDetectionFeature_AvatarExpression
@ NvsEffectSdkHumanDetectionFeature_AvatarExpression
Definition: NvsEffectSdkContext.h:44
NvsVideoEffectTransition
Video transition is a effect of switching between clips.
Definition: NvsVideoEffectTransition.h:50
NvsEffectSdkHumanDetectionFeature_Background
@ NvsEffectSdkHumanDetectionFeature_Background
Definition: NvsEffectSdkContext.h:51
NvsVideoEffect
Video effect.
Definition: NvsVideoEffect.h:44
NvsEffectSdkContextFlag
NvsEffectSdkContextFlag
Effect SDK context creation flag.
Definition: NvsEffectSdkContext.h:31
NvsEffectSdkHumanDetectionFeature_HalfBody
@ NvsEffectSdkHumanDetectionFeature_HalfBody
Definition: NvsEffectSdkContext.h:58
NvsEffectSdkHumanDetectionFeature_Extra
@ NvsEffectSdkHumanDetectionFeature_Extra
Definition: NvsEffectSdkContext.h:50
-[NvsEffectSdkContext createEffectRenderCore]
NvsEffectRenderCore * createEffectRenderCore()
Creates a special effect rendering object.
+[NvsEffectSdkContext hasARModule]
int hasARModule()
Checks if the current SDK contains an AR module.
NvsEffectSdkContext::assetPackageManager
NvsAssetPackageManager * assetPackageManager
Asset package manager.
Definition: NvsEffectSdkContext.h:121
NvsEffectSdkHumanDetectionFeature_FaceAttri
@ NvsEffectSdkHumanDetectionFeature_FaceAttri
Definition: NvsEffectSdkContext.h:59
NvsEffectSdkHumanDetectionFeature_MultiThread
@ NvsEffectSdkHumanDetectionFeature_MultiThread
Definition: NvsEffectSdkContext.h:48
+[NvsEffectSdkContext closeHumanDetection]
void closeHumanDetection()
Turns off the human detection mechanism.
NvsEffectSdkHumanDetectionFeature_SemiImageMode
@ NvsEffectSdkHumanDetectionFeature_SemiImageMode
Definition: NvsEffectSdkContext.h:47
NvsEffectSdkHumanDetectionFeature_HandBone
@ NvsEffectSdkHumanDetectionFeature_HandBone
Definition: NvsEffectSdkContext.h:54
NvsEffectSdkHumanDetectionDataType_Makeup
@ NvsEffectSdkHumanDetectionDataType_Makeup
Definition: NvsEffectSdkContext.h:86
NvsEffectSdkHumanDetectionFeature_EyeballLandmark
@ NvsEffectSdkHumanDetectionFeature_EyeballLandmark
Definition: NvsEffectSdkContext.h:55
NvsEffectSdkHumanDetectionFeature_FaceLandmark
@ NvsEffectSdkHumanDetectionFeature_FaceLandmark
Definition: NvsEffectSdkContext.h:42
NvsEffectSdkHumanDetectionDataType_CustomAvatar
@ NvsEffectSdkHumanDetectionDataType_CustomAvatar
Definition: NvsEffectSdkContext.h:90
NvsVideoEffectCaption.h
NvsVideoEffectAnimatedSticker.h
NvsEffectSdkHumanDetectionFeature_FaceAction
@ NvsEffectSdkHumanDetectionFeature_FaceAction
Definition: NvsEffectSdkContext.h:43
NvsEffectSdkHumanDetectionFeature_HandLandmark
@ NvsEffectSdkHumanDetectionFeature_HandLandmark
Definition: NvsEffectSdkContext.h:52
NvsEffectSdkContext
Effect SDK context class.
Definition: NvsEffectSdkContext.h:120
NvsEffectSdkHumanDetectionDataType_AdvancedBeauty
@ NvsEffectSdkHumanDetectionDataType_AdvancedBeauty
Definition: NvsEffectSdkContext.h:93
NVS_EXPORT
#define NVS_EXPORT
Definition: NvsCommonDef.h:20
NvsVideoEffectCompoundCaption
Definition: NvsVideoEffectCompoundCaption.h:53
NvsEffectSdkHumanDetectionFeatureFlag
NvsEffectSdkHumanDetectionFeatureFlag
Human detection feature.
Definition: NvsEffectSdkContext.h:41
NvsEffectSdkHumanDetectionDataTypeFlag
NvsEffectSdkHumanDetectionDataTypeFlag
Human detection data packet type.
Definition: NvsEffectSdkContext.h:84
NvsEffectCommonDef.h
NvsEffectSdkHumanDetectionDataType_FakeFace
@ NvsEffectSdkHumanDetectionDataType_FakeFace
Definition: NvsEffectSdkContext.h:85
NvsEffectSdkHumanDetectionDataType_PE106
@ NvsEffectSdkHumanDetectionDataType_PE106
Definition: NvsEffectSdkContext.h:88
+[NvsEffectSdkContext destroyInstance]
void destroyInstance()
Destroys the effect sdk context instance.
NvsEffectSdkContextFlag_NoFlag
@ NvsEffectSdkContextFlag_NoFlag
Definition: NvsEffectSdkContext.h:32
NvsEffectRenderCore
Class for special effects rendering.
Definition: NvsEffectRenderCore.h:123
NvsEffectSdkHumanDetectionFeature_VideoMode
@ NvsEffectSdkHumanDetectionFeature_VideoMode
Definition: NvsEffectSdkContext.h:45
NvsAssetPackageManager.h
NvsEffectSdkHumanDetectionFeature_SingleThread
@ NvsEffectSdkHumanDetectionFeature_SingleThread
Definition: NvsEffectSdkContext.h:49
NvsVideoEffectCompoundCaption.h
NvsEffectSdkHumanDetectionFeature_ImageMode
@ NvsEffectSdkHumanDetectionFeature_ImageMode
Definition: NvsEffectSdkContext.h:46
NvsAssetPackageManager
Asset package manager for managing assets in video.
Definition: NvsAssetPackageManager.h:350
NvsEffectSdkHumanDetectionDataType_PE240
@ NvsEffectSdkHumanDetectionDataType_PE240
Definition: NvsEffectSdkContext.h:89
NvsEffectSdkHumanDetectionFeature_SegmentationSky
@ NvsEffectSdkHumanDetectionFeature_SegmentationSky
Definition: NvsEffectSdkContext.h:57