VideoProcessing

概述

提供用于视频处理的API函数。

提供视频处理能力,包括颜色空间转换、元数据生成和视频缩放。

起始版本: 12

汇总

文件

名称 描述
video_processing.h 声明视频处理函数。
video_processing_types.h 视频处理类型定义。

结构体

名称 描述
struct VideoProcessing_ColorSpaceInfo 视频颜色空间信息数据结构。

类型定义

名称 描述
typedef struct OH_VideoProcessing OH_VideoProcessing 定义视频处理对象。
typedef struct NativeWindow OHNativeWindow 定义NativeWindow对象。
typedef struct OH_AVFormat OH_AVFormat 定义OH_AVFormat对象。
typedef struct VideoProcessing_ColorSpaceInfo VideoProcessing_ColorSpaceInfo 视频颜色空间信息数据结构。
typedef enum VideoDetailEnhancer_QualityLevel VideoDetailEnhancer_QualityLevel 用于细节增强的质量等级。
typedef enum VideoProcessing_ErrorCode VideoProcessing_ErrorCode 视频处理错误码。
typedef enum VideoProcessing_State VideoProcessing_State 视频处理状态。
typedef struct VideoProcessing_Callback VideoProcessing_Callback 视频处理回调对象类型。
typedef void(* OH_VideoProcessingCallback_OnError) (OH_VideoProcessing *videoProcessor, VideoProcessing_ErrorCode error, void *userData) 视频处理过程中报告错误的回调函数指针。
typedef void(* OH_VideoProcessingCallback_OnState) (OH_VideoProcessing *videoProcessor, VideoProcessing_State state, void *userData) 报告视频处理状态的回调函数指针。
typedef void(* OH_VideoProcessingCallback_OnNewOutputBuffer) (OH_VideoProcessing *videoProcessor, uint32_t index, void *userData) 报告输出buffer已填充好数据的回调函数指针。

枚举

名称 描述
VideoDetailEnhancer_QualityLevel {
VIDEO_DETAIL_ENHANCER_QUALITY_LEVEL_NONE,
VIDEO_DETAIL_ENHANCER_QUALITY_LEVEL_LOW,
VIDEO_DETAIL_ENHANCER_QUALITY_LEVEL_MEDIUM,
VIDEO_DETAIL_ENHANCER_QUALITY_LEVEL_HIGH }
用于细节增强的质量等级。
VideoProcessing_ErrorCode {
VIDEO_PROCESSING_SUCCESS,
VIDEO_PROCESSING_ERROR_INVALID_PARAMETER = 401,
VIDEO_PROCESSING_ERROR_UNKNOWN = 29210001,
VIDEO_PROCESSING_ERROR_INITIALIZE_FAILED,
VIDEO_PROCESSING_ERROR_CREATE_FAILED,
VIDEO_PROCESSING_ERROR_PROCESS_FAILED,
VIDEO_PROCESSING_ERROR_UNSUPPORTED_PROCESSING,
VIDEO_PROCESSING_ERROR_OPERATION_NOT_PERMITTED,
VIDEO_PROCESSING_ERROR_NO_MEMORY,
VIDEO_PROCESSING_ERROR_INVALID_INSTANCE,
VIDEO_PROCESSING_ERROR_INVALID_VALUE
}
视频处理错误码。
VideoProcessing_State {
VIDEO_PROCESSING_STATE_RUNNING,
VIDEO_PROCESSING_STATE_STOPPED }
视频处理状态。

函数

名称 描述
VideoProcessing_ErrorCode OH_VideoProcessing_InitializeEnvironment (void) 初始化视频处理全局环境。
VideoProcessing_ErrorCode OH_VideoProcessing_DeinitializeEnvironment (void) 释放视频处理全局环境。
bool OH_VideoProcessing_IsColorSpaceConversionSupported (const VideoProcessing_ColorSpaceInfo *sourceVideoInfo, const VideoProcessing_ColorSpaceInfo *destinationVideoInfo) 查询是否支持视频颜色空间转换。
bool OH_VideoProcessing_IsMetadataGenerationSupported (const VideoProcessing_ColorSpaceInfo *sourceVideoInfo) 查询是否支持视频元数据生成。
VideoProcessing_ErrorCode OH_VideoProcessing_Create (OH_VideoProcessing **videoProcessor, int type) 创建视频处理实例。
VideoProcessing_ErrorCode OH_VideoProcessing_Destroy (OH_VideoProcessing *videoProcessor) 销毁视频处理实例。
VideoProcessing_ErrorCode OH_VideoProcessing_RegisterCallback (OH_VideoProcessing *videoProcessor, const VideoProcessing_Callback *callback, void *userData) 注册回调函数。
VideoProcessing_ErrorCode OH_VideoProcessing_SetSurface (OH_VideoProcessing *videoProcessor, const OHNativeWindow *window) 设置视频处理输出surface。
VideoProcessing_ErrorCode OH_VideoProcessing_GetSurface (OH_VideoProcessing *videoProcessor, OHNativeWindow **window) 创建surface。
VideoProcessing_ErrorCode OH_VideoProcessing_SetParameter (OH_VideoProcessing *videoProcessor, const OH_AVFormat *parameter) 设置视频处理输出参数。
VideoProcessing_ErrorCode OH_VideoProcessing_GetParameter (OH_VideoProcessing *videoProcessor, OH_AVFormat *parameter) 获取视频处理参数。
VideoProcessing_ErrorCode OH_VideoProcessing_Start (OH_VideoProcessing *videoProcessor) 启动视频处理。
VideoProcessing_ErrorCode OH_VideoProcessing_Stop (OH_VideoProcessing *videoProcessor) 停止视频处理。
VideoProcessing_ErrorCode OH_VideoProcessing_RenderOutputBuffer (OH_VideoProcessing *videoProcessor, uint32_t index) 渲染处理并输出buffer。
VideoProcessing_ErrorCode OH_VideoProcessingCallback_Create (VideoProcessing_Callback **callback) 创建视频处理回调函数对象。
VideoProcessing_ErrorCode OH_VideoProcessingCallback_Destroy (VideoProcessing_Callback *callback) 销毁回调对象。
VideoProcessing_ErrorCode OH_VideoProcessingCallback_BindOnError (VideoProcessing_Callback *callback, OH_VideoProcessingCallback_OnError onError) 绑定回调函数OH_VideoProcessingCallback_OnError到回调对象。
VideoProcessing_ErrorCode OH_VideoProcessingCallback_BindOnState (VideoProcessing_Callback *callback, OH_VideoProcessingCallback_OnState onState) 绑定回调函数OH_VideoProcessingCallback_OnState到回调对象。
VideoProcessing_ErrorCode OH_VideoProcessingCallback_BindOnNewOutputBuffer (VideoProcessing_Callback *callback, OH_VideoProcessingCallback_OnNewOutputBuffer onNewOutputBuffer) 绑定回调函数OH_VideoProcessingCallback_OnNewOutputBuffer到回调对象。

变量

名称 描述
const int32_t VIDEO_PROCESSING_TYPE_COLOR_SPACE_CONVERSION 表示创建颜色空间转换视频处理实例。
const int32_t VIDEO_PROCESSING_TYPE_METADATA_GENERATION 表示创建元数据生成视频处理实例。
const int32_t VIDEO_PROCESSING_TYPE_DETAIL_ENHANCER 表示创建细节增强视频处理实例。
const char * VIDEO_DETAIL_ENHANCER_PARAMETER_KEY_QUALITY_LEVEL 指定视频细节增强的质量等级。

类型定义说明

OH_AVFormat

typedef struct OH_AVFormatOH_AVFormat

描述

定义OH_AVFormat对象。

起始版本: 12

OH_VideoProcessing

typedef struct OH_VideoProcessingOH_VideoProcessing

描述

定义视频处理对象。

定义一个OH_VideoProcessing空指针,调用OH_VideoProcessing_Create创建视频处理实例,该指针在创建实例之前必须为空。 用户可以对不同的处理类型创建不同的视频处理实例。

起始版本: 12

OH_VideoProcessingCallback_OnError

typedef void(* OH_VideoProcessingCallback_OnError) (OH_VideoProcessing *videoProcessor, VideoProcessing_ErrorCode error, void *userData)

描述

视频处理过程中报告错误的回调函数指针。

错误码VideoProcessing_ErrorCode

  • VIDEO_PROCESSING_ERROR_UNSUPPORTED_PROCESSING,不支持的处理,比如不支持输入输出的颜色空间类型转换。

  • VIDEO_PROCESSING_ERROR_INVALID_VALUE,无效的视频属性,比如视频的颜色空间无效。

  • VIDEO_PROCESSING_ERROR_NO_MEMORY, 内存不足。

  • VIDEO_PROCESSING_ERROR_PROCESS_FAILED,处理过程中出错。

起始版本: 12

参数:

名称 描述
videoProcessor 视频处理实例。
error 报告给用户的错误码。
userData 用户的自定义数据。

OH_VideoProcessingCallback_OnNewOutputBuffer

typedef void(* OH_VideoProcessingCallback_OnNewOutputBuffer) (OH_VideoProcessing *videoProcessor, uint32_t index, void *userData)

描述

报告输出buffer已填充好数据的回调函数指针。

每个新输出buffer填充好数据之后该buffer的索引就会报告给用户。调用OH_VideoProcessing_RenderOutputBuffer根据索引来处理渲染并输出该buffer。 如果未注册该函数,则输出buffer填充好数据后不会报告用户,而是直接进行处理渲染并输出。

起始版本: 12

参数:

名称 描述
videoProcessor 视频处理实例。
index 新输出buffer的索引。
userData 用户自定义的数据。

OH_VideoProcessingCallback_OnState

typedef void(* OH_VideoProcessingCallback_OnState) (OH_VideoProcessing *videoProcessor, VideoProcessing_State state, void *userData)

描述

报告视频处理状态的回调函数指针。

OH_VideoProcessing_Start成功调用之后状态会变为VIDEO_PROCESSING_STATE_RUNNING。 调用OH_VideoProcessing_Stop,所有的缓存buffer处理完成后,状态会变为VIDEO_PROCESSING_STATE_STOPPED。状态说明参阅VideoProcessing_State

起始版本: 12

参数:

名称 描述
videoProcessor 视频处理实例。
state 参阅 VideoProcessing_State
userData 用户的自定义数据。

OHNativeWindow

typedef struct NativeWindow OHNativeWindow

描述

定义NativeWindow对象。

起始版本: 12

VideoDetailEnhancer_QualityLevel

typedef enum VideoDetailEnhancer_QualityLevelVideoDetailEnhancer_QualityLevel

描述

用于细节增强的质量等级。

参数VIDEO_DETAIL_ENHANCER_PARAMETER_KEY_QUALITY_LEVEL的具体取值,设置方法详见开发指南。

参见:OH_VideoProcessing_SetParameterOH_VideoProcessing_GetParameter

起始版本: 12

VideoProcessing_Callback

typedef struct VideoProcessing_CallbackVideoProcessing_Callback

描述

视频处理回调对象类型。

定义一个VideoProcessing_Callback空指针,调用OH_VideoProcessingCallback_Create来创建一个回调对象。创建之前该指针必须为空。 通过调用OH_VideoProcessing_RegisterCallback来向视频处理实例注册回调对象。

起始版本: 12

VideoProcessing_ColorSpaceInfo

typedef struct VideoProcessing_ColorSpaceInfoVideoProcessing_ColorSpaceInfo

描述

视频颜色空间信息数据结构。

参见:OH_VideoProcessing_IsColorSpaceConversionSupported

起始版本: 12

VideoProcessing_ErrorCode

typedef enum VideoProcessing_ErrorCodeVideoProcessing_ErrorCode

描述

视频处理错误码。

起始版本: 12

VideoProcessing_State

typedef enum VideoProcessing_StateVideoProcessing_State

描述

视频处理状态。

视频处理状态通过回调函数OH_VideoProcessingCallback_OnState进行报告。

起始版本: 12

枚举类型说明

VideoDetailEnhancer_QualityLevel

enum VideoDetailEnhancer_QualityLevel

描述

用于细节增强的质量等级。

参数VIDEO_DETAIL_ENHANCER_PARAMETER_KEY_QUALITY_LEVEL的具体取值,设置方法详见开发指南。

参见:OH_VideoProcessing_SetParameterOH_VideoProcessing_GetParameter

起始版本: 12

枚举值 描述
VIDEO_DETAIL_ENHANCER_QUALITY_LEVEL_NONE 无细节增强。
VIDEO_DETAIL_ENHANCER_QUALITY_LEVEL_LOW 低质量等级细节增强,速度较快,默认设置。
VIDEO_DETAIL_ENHANCER_QUALITY_LEVEL_MEDIUM 中等质量等级细节增强,速度适中。
VIDEO_DETAIL_ENHANCER_QUALITY_LEVEL_HIGH 高质量等级细节增强,速度相对较慢。

VideoProcessing_ErrorCode

enum VideoProcessing_ErrorCode

描述

视频处理错误码。

起始版本: 12

枚举值 描述
VIDEO_PROCESSING_SUCCESS 处理成功。
VIDEO_PROCESSING_ERROR_INVALID_PARAMETER 输入参数无效。以下情况都会返回该错误码:
1 - 无效的输入或输出视频buffer,视频buffer为空。
2 - 无效的参数,参数为空。
3 - 无效的处理类型。
VIDEO_PROCESSING_ERROR_UNKNOWN 未知错误,比如GPU计算失败或memcpy失败。
VIDEO_PROCESSING_ERROR_INITIALIZE_FAILED 视频处理全局环境初始化失败,比如初始化GPU环境失败。
VIDEO_PROCESSING_ERROR_CREATE_FAILED 创建视频处理实例失败,比如实例总数超出上限。
VIDEO_PROCESSING_ERROR_PROCESS_FAILED 处理过程失败,比如处理时间超时。
VIDEO_PROCESSING_ERROR_UNSUPPORTED_PROCESSING 不支持的处理类型,可以调用 OH_VideoProcessing_IsXXXSupported来检查是否支持这种处理。
VIDEO_PROCESSING_ERROR_OPERATION_NOT_PERMITTED 不允许的操作,比如不满足调用接口所需的运行状态下调用该接口。
VIDEO_PROCESSING_ERROR_NO_MEMORY 内存不足。
VIDEO_PROCESSING_ERROR_INVALID_INSTANCE 视频处理实例无效,比如视频处理实例为空实例。
VIDEO_PROCESSING_ERROR_INVALID_VALUE 输入值无效,以下情况都会造成这种错误:
1 - 视频buffer宽高太大或者颜色空间错误。
2 - 参数包含无效的值,比如细节增强的质量等级错误。

VideoProcessing_State

enum VideoProcessing_State

描述

视频处理状态。

视频处理状态通过回调函数OH_VideoProcessingCallback_OnState进行报告。

起始版本: 12

枚举值 描述
VIDEO_PROCESSING_STATE_RUNNING 视频处理进行中。
VIDEO_PROCESSING_STATE_STOPPED 视频处理已停止。

函数说明

OH_VideoProcessing_Create()

VideoProcessing_ErrorCode OH_VideoProcessing_Create (OH_VideoProcessing ** videoProcessor, int type )

描述

创建视频处理实例。

起始版本: 12

参数:

名称 描述
videoProcessor 输出参数。指向视频处理对象的指针的指针。 输入前*videoProcessor必须是空指针。
type 使用VIDEO_PROCESSING_TYPE_XXX来指定处理类型。实例的处理类型不能改变。

返回:

视频处理错误码VideoProcessing_ErrorCode

  • 如果视频处理实例创建成功,返回VIDEO_PROCESSING_SUCCESS。

  • 如果处理类型不支持,返回VIDEO_PROCESSING_ERROR_UNSUPPORTED_PROCESSING, 例如,如果不支持元数据生成就返回VIDEO_PROCESSING_ERROR_UNSUPPORTED_PROCESSING。

  • 如果创建视频处理实例失败,返回VIDEO_PROCESSING_ERROR_CREATE_FAILED。

  • 如果实例为空或实例的指针非空,返回VIDEO_PROCESSING_ERROR_INVALID_INSTANCE。

  • 如果处理类型无效,返回VIDEO_PROCESSING_ERROR_INVALID_PARAMETER。

OH_VideoProcessing_DeinitializeEnvironment()

VideoProcessing_ErrorCode OH_VideoProcessing_DeinitializeEnvironment (void )

描述

释放视频处理全局环境。

调用前,必须调用OH_VideoProcessing_InitializeEnvironment初始化。 通常在主进程即将退出时调用该函数来释放通过调用OH_VideoProcessing_InitializeEnvironment函数初始化的全局环境。 如果仍有视频处理的实例运行中,就不能调用该函数。

起始版本: 12

返回:

视频处理错误码VideoProcessing_ErrorCode

  • 如果执行成功,返回VIDEO_PROCESSING_SUCCESS。

  • 如果还有视频处理的实例没有销毁或者没有调用OH_VideoProcessing_InitializeEnvironment,返回VIDEO_PROCESSING_ERROR_OPERATION_NOT_PERMITTED。

OH_VideoProcessing_Destroy()

VideoProcessing_ErrorCode OH_VideoProcessing_Destroy (OH_VideoProcessing * videoProcessor)

描述

销毁视频处理实例。

销毁之前先停止实例,参阅OH_VideoProcessing_Stop

起始版本: 12

参数:

名称 描述
videoProcessor 指向视频处理实例的指针,建议在实例销毁之后将其设置为空指针。

返回:

视频处理错误码VideoProcessing_ErrorCode

  • 如果实例销毁成功,返回VIDEO_PROCESSING_SUCCESS。

  • 如果实例为空或者不是一个视频处理实例,返回VIDEO_PROCESSING_ERROR_INVALID_INSTANCE。

  • 如果实例仍在运行,返回VIDEO_PROCESSING_ERROR_OPERATION_NOT_PERMITTED。

OH_VideoProcessing_GetParameter()

VideoProcessing_ErrorCode OH_VideoProcessing_GetParameter (OH_VideoProcessing * videoProcessor, OH_AVFormat * parameter )

描述

获取视频处理参数。

起始版本: 12

参数:

名称 描述
videoProcessor 指向视频处理实例的指针。
parameter 指向视频处理参数实例的指针。

返回:

视频处理错误码VideoProcessing_ErrorCode

  • 如果参数获取成功,返回VIDEO_PROCESSING_SUCCESS。

  • 如果实例为空或者不是一个视频处理实例,返回VIDEO_PROCESSING_ERROR_INVALID_INSTANCE。

  • 如果参数为空,返回VIDEO_PROCESSING_ERROR_INVALID_PARAMETER。

OH_VideoProcessing_GetSurface()

VideoProcessing_ErrorCode OH_VideoProcessing_GetSurface (OH_VideoProcessing * videoProcessor, OHNativeWindow ** window )

描述

创建surface。

在视频处理启动之前创建输入surface。调用OH_NativeWindow_DestroyNativeWindow销毁输入surface。

起始版本: 12

参数:

名称 描述
videoProcessor 指向视频处理实例的指针。
window 指向输入surface的指针。例如,此输入surface指针可以指向视频解码器输出surface。

返回:

视频处理错误码VideoProcessing_ErrorCode

  • 如果执行成功,返回VIDEO_PROCESSING_SUCCESS。

  • 如果实例为空或者不是一个视频处理实例,返回VIDEO_PROCESSING_ERROR_INVALID_INSTANCE。

  • 如果window为空指针或指向window的指针不为空,返回VIDEO_PROCESSING_ERROR_INVALID_PARAMETER。

  • 如果创建surface失败,或者输入surface已经创建,或者视频处理实例还在运行,返回VIDEO_PROCESSING_ERROR_OPERATION_NOT_PERMITTED。

OH_VideoProcessing_InitializeEnvironment()

VideoProcessing_ErrorCode OH_VideoProcessing_InitializeEnvironment (void )

描述

初始化视频处理全局环境。

该函数是可选的。 该函数只在主进程启动时被调用一次,用于初始化视频处理全局环境,这样可以减少OH_VideoProcessing_Create的时间。 调用OH_VideoProcessing_DeinitializeEnvironment释放视频处理全局环境。 初始化后,必须释放视频处理全局环境,释放方式及时机详见OH_VideoProcessing_DeinitializeEnvironment

起始版本: 12

返回:

视频处理错误码VideoProcessing_ErrorCode

如果初始化成功,返回VIDEO_PROCESSING_SUCCESS,否则返回VIDEO_PROCESSING_ERROR_INITIALIZE_FAILED。

如果失败,应用需要检查GPU是否正常工作。

OH_VideoProcessing_IsColorSpaceConversionSupported()

bool OH_VideoProcessing_IsColorSpaceConversionSupported (const VideoProcessing_ColorSpaceInfo * sourceVideoInfo, const VideoProcessing_ColorSpaceInfo * destinationVideoInfo )

描述

查询是否支持视频颜色空间转换。

起始版本: 12

参数:

名称 描述
sourceVideoInfo 输入视频颜色空间信息。
destinationVideoInfo 输出视频颜色空间信息。

返回:

如果支持视频颜色空间转换返回true,否则返回false

OH_VideoProcessing_IsMetadataGenerationSupported()

bool OH_VideoProcessing_IsMetadataGenerationSupported (const VideoProcessing_ColorSpaceInfo * sourceVideoInfo)

描述

查询是否支持视频元数据生成。

起始版本: 12

参数:

名称 描述
sourceVideoInfo 输入视频颜色空间信息。

返回:

如果支持视频元数据生成返回true,否则返回false

OH_VideoProcessing_RegisterCallback()

VideoProcessing_ErrorCode OH_VideoProcessing_RegisterCallback (OH_VideoProcessing * videoProcessor, const VideoProcessing_Callback * callback, void * userData )

描述

注册回调函数。

在开始视频处理之前注册回调函数,视频处理过程中无法注册回调函数。

起始版本: 12

参数:

名称 描述
videoProcessor 指向视频处理实例的指针。
callback 回调函数指针。
userData 指向用户特定数据的指针。

返回:

视频处理错误码VideoProcessing_ErrorCode

  • 如果回调函数注册成功,返回VIDEO_PROCESSING_SUCCESS。

  • 如果实例为空或者不是一个视频处理实例,返回VIDEO_PROCESSING_ERROR_INVALID_INSTANCE。

  • 如果回调函数指针为空,返回VIDEO_PROCESSING_ERROR_INVALID_PARAMETER。

  • 如果实例仍在运行,返回VIDEO_PROCESSING_ERROR_OPERATION_NOT_PERMITTED。

OH_VideoProcessing_RenderOutputBuffer()

VideoProcessing_ErrorCode OH_VideoProcessing_RenderOutputBuffer (OH_VideoProcessing * videoProcessor, uint32_t index )

描述

渲染处理并输出buffer。

如果设置了回调函数OH_VideoProcessingCallback_OnNewOutputBuffer,当输出buffer准备好之后会通过回调函数把buffer的索引返回给用户。

起始版本: 12

参数:

名称 描述
videoProcessor 指向视频处理实例的指针。
index 输出buffer的索引。

返回:

视频处理错误码VideoProcessing_ErrorCode

  • 如果执行成功,返回VIDEO_PROCESSING_SUCCESS。

  • 如果实例为空或者不是一个视频处理实例,返回VIDEO_PROCESSING_ERROR_INVALID_INSTANCE。

  • 如果索引值无效,输出VIDEO_PROCESSING_ERROR_INVALID_PARAMETER。

  • 如果没有设置回调函数OH_VideoProcessingCallback_OnNewOutputBuffer或者实例已经停止运行,返回VIDEO_PROCESSING_ERROR_OPERATION_NOT_PERMITTED。

OH_VideoProcessing_SetParameter()

VideoProcessing_ErrorCode OH_VideoProcessing_SetParameter (OH_VideoProcessing * videoProcessor, const OH_AVFormat * parameter )

描述

设置视频处理输出参数。

起始版本: 12

参数:

名称 描述
videoProcessor 指向视频处理实例的指针。
parameter 指向视频处理参数实例的指针。

返回:

视频处理错误码VideoProcessing_ErrorCode

  • 如果参数设置成功,返回VIDEO_PROCESSING_SUCCESS。

  • 如果实例为空或者不是一个视频处理实例,返回VIDEO_PROCESSING_ERROR_INVALID_INSTANCE。

  • 如果参数为空,返回VIDEO_PROCESSING_ERROR_INVALID_PARAMETER。

  • 如果参数的某些属性无效,返回VIDEO_PROCESSING_ERROR_INVALID_VALUE,例如,包含不支持的参数值。

  • 如果内存分配失败,返回VIDEO_PROCESSING_ERROR_NO_MEMORY。

OH_VideoProcessing_SetSurface()

VideoProcessing_ErrorCode OH_VideoProcessing_SetSurface (OH_VideoProcessing * videoProcessor, const OHNativeWindow * window )

描述

设置视频处理输出surface。

在视频处理启动之前设置输出surface。

起始版本: 12

参数:

名称 描述
videoProcessor 指向视频处理实例的指针。
window 指向输出surface的指针。

返回:

视频处理错误码VideoProcessing_ErrorCode

  • 如果输出surface设置成功,返回VIDEO_PROCESSING_SUCCESS。

  • 如果实例为空或者不是一个视频处理实例,返回VIDEO_PROCESSING_ERROR_INVALID_INSTANCE。

  • 如果window为空指针,返回VIDEO_PROCESSING_ERROR_INVALID_PARAMETER。

OH_VideoProcessing_Start()

VideoProcessing_ErrorCode OH_VideoProcessing_Start (OH_VideoProcessing * videoProcessor)

描述

启动视频处理。

成功启动后,回调函数OH_VideoProcessingCallback_OnState会报告VIDEO_PROCESSING_STATE_RUNNING状态,状态说明参阅VideoProcessing_State

起始版本: 12

参数:

名称 描述
videoProcessor 指向视频处理实例的指针。

返回:

视频处理错误码VideoProcessing_ErrorCode

  • 如果执行成功,返回VIDEO_PROCESSING_SUCCESS。

  • 如果实例为空或者不是一个视频处理实例,返回VIDEO_PROCESSING_ERROR_INVALID_INSTANCE。

  • 如果没有设置输出surface,或者没有创建输入surface,或者实例已经运行,返回VIDEO_PROCESSING_ERROR_OPERATION_NOT_PERMITTED。

OH_VideoProcessing_Stop()

VideoProcessing_ErrorCode OH_VideoProcessing_Stop (OH_VideoProcessing * videoProcessor)

描述

停止视频处理。

成功停止后,回调函数OH_VideoProcessingCallback_OnState会报告VIDEO_PROCESSING_STATE_STOPPED状态,状态说明参阅VideoProcessing_State

起始版本: 12

参数:

名称 描述
videoProcessor 指向视频处理实例的指针。

返回:

视频处理错误码VideoProcessing_ErrorCode

  • 如果执行成功,返回VIDEO_PROCESSING_SUCCESS。

  • 如果实例为空或者不是一个视频处理实例,返回VIDEO_PROCESSING_ERROR_INVALID_INSTANCE。

  • 如果实例已经停止,返回VIDEO_PROCESSING_ERROR_OPERATION_NOT_PERMITTED。

OH_VideoProcessingCallback_BindOnError()

VideoProcessing_ErrorCode OH_VideoProcessingCallback_BindOnError (VideoProcessing_Callback * callback, OH_VideoProcessingCallback_OnError onError )

描述

绑定回调函数OH_VideoProcessingCallback_OnError到回调对象。

起始版本: 12

参数:

名称 描述
callback 指向回调对象的指针。
onError 回调函数。

返回:

视频处理错误码VideoProcessing_ErrorCode

  • 如果函数绑定成功,返回VIDEO_PROCESSING_SUCCESS。

  • 如果callback为空或者onError为空,返回VIDEO_PROCESSING_ERROR_INVALID_PARAMETER。

OH_VideoProcessingCallback_BindOnNewOutputBuffer()

VideoProcessing_ErrorCode OH_VideoProcessingCallback_BindOnNewOutputBuffer (VideoProcessing_Callback * callback, OH_VideoProcessingCallback_OnNewOutputBuffer onNewOutputBuffer )

描述

绑定回调函数OH_VideoProcessingCallback_OnNewOutputBuffer到回调对象。

起始版本: 12

参数:

名称 描述
callback 指向回调对象的指针。
onNewOutputBuffer 回调函数。

返回:

视频处理错误码VideoProcessing_ErrorCode

  • 如果函数绑定成功,返回VIDEO_PROCESSING_SUCCESS。

  • 如果callback为空,返回VIDEO_PROCESSING_ERROR_INVALID_PARAMETER。

OH_VideoProcessingCallback_BindOnState()

VideoProcessing_ErrorCode OH_VideoProcessingCallback_BindOnState (VideoProcessing_Callback * callback, OH_VideoProcessingCallback_OnState onState )

描述

绑定回调函数OH_VideoProcessingCallback_OnState到回调对象。

起始版本: 12

参数:

名称 描述
callback 指向回调对象的指针。
onState 回调函数。

返回:

视频处理错误码VideoProcessing_ErrorCode

  • 如果函数绑定成功,返回VIDEO_PROCESSING_SUCCESS。

  • 如果callback为空或者onState为空,返回VIDEO_PROCESSING_ERROR_INVALID_PARAMETER。

OH_VideoProcessingCallback_Create()

VideoProcessing_ErrorCode OH_VideoProcessingCallback_Create (VideoProcessing_Callback ** callback)

描述

创建视频处理回调函数对象。

起始版本: 12

参数:

名称 描述
callback 输出参数。*callback是指向回调函数对象的指针。在创建回调函数对象之前*callback必须为空指针。

返回:

视频处理错误码VideoProcessing_ErrorCode

  • 如果回调函数对象创建成功,返回VIDEO_PROCESSING_SUCCESS。

  • 如果callback为空或者*callback不为空,返回VIDEO_PROCESSING_ERROR_INVALID_PARAMETER。

  • 如果内存不足,返回VIDEO_PROCESSING_ERROR_NO_MEMORY。

OH_VideoProcessingCallback_Destroy()

VideoProcessing_ErrorCode OH_VideoProcessingCallback_Destroy (VideoProcessing_Callback * callback)

描述

销毁回调对象。

回调对象在注册之后就可以销毁。

起始版本: 12

参数:

名称 描述
callback 指向回调对象的指针,建议在回调对象销毁之后将其设置为空指针。

返回:

视频处理错误码VideoProcessing_ErrorCode

  • 如果回调对象销毁成功,返回VIDEO_PROCESSING_SUCCESS。

  • 如果callback为空,返回VIDEO_PROCESSING_ERROR_INVALID_PARAMETER。

变量说明

VIDEO_DETAIL_ENHANCER_PARAMETER_KEY_QUALITY_LEVEL

const char* VIDEO_DETAIL_ENHANCER_PARAMETER_KEY_QUALITY_LEVEL

描述

指定视频细节增强的质量等级。

参阅 VideoDetailEnhancer_QualityLevel查看具体取值。 调用 OH_VideoProcessing_SetParameter设置质量等级。 调用 OH_VideoProcessing_GetParameter获取当前质量等级。

起始版本: 12

VIDEO_PROCESSING_TYPE_COLOR_SPACE_CONVERSION

const int32_t VIDEO_PROCESSING_TYPE_COLOR_SPACE_CONVERSION

描述

表示创建颜色空间转换视频处理实例。

调用OH_VideoProcessing_Create创建颜色空间转换视频处理实例,如果不支持该能力返回VideoProcessing_ErrorCode VIDEO_PROCESSING_ERROR_UNSUPPORTED_PROCESSING。

起始版本: 12

VIDEO_PROCESSING_TYPE_DETAIL_ENHANCER

const int32_t VIDEO_PROCESSING_TYPE_DETAIL_ENHANCER

描述

表示创建细节增强视频处理实例。

调用OH_VideoProcessing_Create创建细节增强视频处理实例,如果不支持该能力返回VideoProcessing_ErrorCode VIDEO_PROCESSING_ERROR_UNSUPPORTED_PROCESSING。

起始版本: 12

VIDEO_PROCESSING_TYPE_METADATA_GENERATION

const int32_t VIDEO_PROCESSING_TYPE_METADATA_GENERATION

描述

表示创建元数据生成视频处理实例。

调用OH_VideoProcessing_Create创建元数据生成视频处理实例,如果不支持该能力返回VideoProcessing_ErrorCode VIDEO_PROCESSING_ERROR_UNSUPPORTED_PROCESSING。

起始版本: 12