harmony 鸿蒙video_processing.h

  • 2025-06-16
  • 浏览 (2)

video_processing.h

概述

声明视频处理函数。

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

库: libvideo_processing.so

系统能力: SystemCapability.Multimedia.VideoProcessingEngine

起始版本: 12

相关模块: VideoProcessing

汇总

函数

|名称|描述| |–|–| |VideoProcessing_ErrorCode OH_VideoProcessing_InitializeEnvironment(void)|初始化视频处理全局环境。
该函数是可选的。
该函数只在主进程启动时被调用一次,用于初始化视频处理全局环境,这样可以减少OH_VideoProcessing_Create的时间。| |VideoProcessing_ErrorCode OH_VideoProcessing_DeinitializeEnvironment(void)|释放视频处理全局环境。
调用前,必须调用OH_VideoProcessing_InitializeEnvironment初始化。
通常在主进程即将退出时调用该函数来释放通过调用OH_VideoProcessing_InitializeEnvironment函数初始化的全局环境。
如果仍有视频处理的实例运行中,就不能调用该函数。| |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)|销毁视频处理实例。
销毁之前先停止实例,参阅OH_VideoProcessing_Stop。| |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。
在视频处理启动之前设置输出surface。| |VideoProcessing_ErrorCode OH_VideoProcessing_GetSurface(OH_VideoProcessing* videoProcessor, OHNativeWindow** window)|创建surface。
在视频处理启动之前创建输入surface。调用OH_NativeWindow_DestroyNativeWindow销毁输入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)|启动视频处理。
成功启动后,回调函数OH_VideoProcessingCallback_OnState会报告VIDEO_PROCESSING_STATE_RUNNING状态。| |VideoProcessing_ErrorCode OH_VideoProcessing_Stop(OH_VideoProcessing* videoProcessor)|停止视频处理。
成功停止后,回调函数OH_VideoProcessingCallback_OnState会报告VIDEO_PROCESSING_STATE_STOPPED状态。| |VideoProcessing_ErrorCode OH_VideoProcessing_RenderOutputBuffer(OH_VideoProcessing* videoProcessor, uint32_t index)|渲染处理并输出buffer。
如果设置了回调函数OH_VideoProcessingCallback_OnNewOutputBuffer,当输出buffer准备好之后会通过回调函数把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到回调对象。|

函数说明

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_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_IsColorSpaceConversionSupported()

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

描述

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

起始版本: 12

参数:

|参数项|描述| |–|–| |const VideoProcessing_ColorSpaceInfo* sourceVideoInfo|输入视频颜色空间信息。| |const VideoProcessing_ColorSpaceInfo* destinationVideoInfo|输出视频颜色空间信息。|

返回:

|类型|说明| |–|–| |bool|如果支持视频颜色空间转换返回true,否则返回false。|

OH_VideoProcessing_IsMetadataGenerationSupported()

bool OH_VideoProcessing_IsMetadataGenerationSupported(const VideoProcessing_ColorSpaceInfo* sourceVideoInfo)

描述

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

起始版本: 12

参数:

|参数项|描述| |–|–| |const VideoProcessing_ColorSpaceInfo* sourceVideoInfo|输入视频颜色空间信息。|

返回:

|类型|说明| |–|–| |bool|如果支持视频元数据生成返回true,否则返回false。|

OH_VideoProcessing_Create()

VideoProcessing_ErrorCode OH_VideoProcessing_Create(OH_VideoProcessing** videoProcessor, int type)

描述

创建视频处理实例。

起始版本: 12

参数:

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

返回:

|类型|说明| |–|–| |VideoProcessing_ErrorCode|如果视频处理实例创建成功,返回VIDEO_PROCESSING_SUCCESS。
如果处理类型不支持,返回VIDEO_PROCESSING_ERROR_UNSUPPORTED_PROCESSING,例如,不支持元数据生成。
如果创建视频处理实例失败,返回VIDEO_PROCESSING_ERROR_CREATE_FAILED。
如果实例为空或实例的指针非空,返回VIDEO_PROCESSING_ERROR_INVALID_INSTANCE。
如果处理类型无效,返回VIDEO_PROCESSING_ERROR_INVALID_PARAMETER。|

OH_VideoProcessing_Destroy()

VideoProcessing_ErrorCode OH_VideoProcessing_Destroy(OH_VideoProcessing* videoProcessor)

描述

销毁视频处理实例。

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

起始版本: 12

参数:

|参数项|描述| |–|–| |OH_VideoProcessing* videoProcessor|指向视频处理实例的指针,建议在实例销毁之后将其设置为空指针。|

返回:

|类型|说明| |–|–| |VideoProcessing_ErrorCode|如果实例销毁成功,返回VIDEO_PROCESSING_SUCCESS。
如果实例为空或者不是一个视频处理实例,返回VIDEO_PROCESSING_ERROR_INVALID_INSTANCE。
如果实例仍在运行,返回VIDEO_PROCESSING_ERROR_OPERATION_NOT_PERMITTED。|

OH_VideoProcessing_RegisterCallback()

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

描述

注册回调函数。

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

起始版本: 12

参数:

|参数项|描述| |–|–| |OH_VideoProcessing* videoProcessor|指向视频处理实例的指针。| |const VideoProcessing_Callback* callback|回调函数指针。| |void* userData|指向用户特定数据的指针。|

返回:

|类型|说明| |–|–| |VideoProcessing_ErrorCode|如果回调函数注册成功,返回VIDEO_PROCESSING_SUCCESS。
如果实例为空或者不是一个视频处理实例,返回VIDEO_PROCESSING_ERROR_INVALID_INSTANCE。
如果回调函数指针为空,返回VIDEO_PROCESSING_ERROR_INVALID_PARAMETER。
如果实例仍在运行,返回VIDEO_PROCESSING_ERROR_OPERATION_NOT_PERMITTED。|

OH_VideoProcessing_SetSurface()

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

描述

设置视频处理输出surface。

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

起始版本: 12

参数:

|参数项|描述| |–|–| |OH_VideoProcessing* videoProcessor|指向视频处理实例的指针。| |const OHNativeWindow* window|指向输出surface的指针。|

返回:

|类型|说明| |–|–| |VideoProcessing_ErrorCode|如果输出surface设置成功,返回VIDEO_PROCESSING_SUCCESS。
如果实例为空或者不是一个视频处理实例,返回VIDEO_PROCESSING_ERROR_INVALID_INSTANCE。
如果window为空指针,返回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

参数:

|参数项|描述| |–|–| |OH_VideoProcessing* videoProcessor|指向视频处理实例的指针。| |OHNativeWindow** 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_SetParameter()

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

描述

设置视频处理输出参数。

起始版本: 12

参数:

|参数项|描述| |–|–| |OH_VideoProcessing* videoProcessor|指向视频处理实例的指针。| |const OH_AVFormat* 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_GetParameter()

VideoProcessing_ErrorCode OH_VideoProcessing_GetParameter(OH_VideoProcessing* videoProcessor, OH_AVFormat* parameter)

描述

获取视频处理参数。

起始版本: 12

参数:

|参数项|描述| |–|–| |OH_VideoProcessing* videoProcessor|指向视频处理实例的指针。| |OH_AVFormat* parameter|指向视频处理参数实例的指针。|

返回:

|类型|说明| |–|–| |VideoProcessing_ErrorCode|如果参数获取成功,返回VIDEO_PROCESSING_SUCCESS。
如果实例为空或者不是一个视频处理实例,返回VIDEO_PROCESSING_ERROR_INVALID_INSTANCE。
如果参数为空,返回VIDEO_PROCESSING_ERROR_INVALID_PARAMETER。|

OH_VideoProcessing_Start()

VideoProcessing_ErrorCode OH_VideoProcessing_Start(OH_VideoProcessing* videoProcessor)

描述

启动视频处理。

成功启动后,回调函数OH_VideoProcessingCallback_OnState会报告VideoProcessing_State.VIDEO_PROCESSING_STATE_RUNNING状态。

起始版本: 12

参数:

|参数项|描述| |–|–| |OH_VideoProcessing* 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会报告VideoProcessing_State.VIDEO_PROCESSING_STATE_STOPPED状态。

起始版本: 12

参数:

|参数项|描述| |–|–| |OH_VideoProcessing* videoProcessor|指向视频处理实例的指针。|

返回:

|类型|说明| |–|–| |VideoProcessing_ErrorCode|如果执行成功,返回VIDEO_PROCESSING_SUCCESS。
如果实例为空或者不是一个视频处理实例,返回VIDEO_PROCESSING_ERROR_INVALID_INSTANCE。
如果实例已经停止,返回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

参数:

|参数项|描述| |–|–| |OH_VideoProcessing* videoProcessor|指向视频处理实例的指针。| |uint32_t 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_VideoProcessingCallback_Create()

VideoProcessing_ErrorCode OH_VideoProcessingCallback_Create(VideoProcessing_Callback** callback)

描述

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

起始版本: 12

参数:

|参数项|描述| |–|–| |VideoProcessing_Callback** 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

参数:

|参数项|描述| |–|–| |VideoProcessing_Callback* callback|指向回调对象的指针,建议在回调对象销毁之后将其设置为空指针。|

返回:

|类型|说明| |–|–| |VideoProcessing_ErrorCode|如果回调对象销毁成功,返回VIDEO_PROCESSING_SUCCESS。
如果callback为空,返回VIDEO_PROCESSING_ERROR_INVALID_PARAMETER。|

OH_VideoProcessingCallback_BindOnError()

VideoProcessing_ErrorCode OH_VideoProcessingCallback_BindOnError(VideoProcessing_Callback* callback,OH_VideoProcessingCallback_OnError onError)

描述

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

起始版本: 12

参数:

|参数项|描述| |–|–| |VideoProcessing_Callback* callback|指向回调对象的指针。| |OH_VideoProcessingCallback_OnError onError|回调函数。|

返回:

|类型|说明| |–|–| |VideoProcessing_ErrorCode|如果函数绑定成功,返回VIDEO_PROCESSING_SUCCESS。
如果callback为空或者onError为空,返回VIDEO_PROCESSING_ERROR_INVALID_PARAMETER。|

OH_VideoProcessingCallback_BindOnState()

VideoProcessing_ErrorCode OH_VideoProcessingCallback_BindOnState(VideoProcessing_Callback* callback,OH_VideoProcessingCallback_OnState onState)

描述

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

起始版本: 12

参数:

|参数项|描述| |–|–| |VideoProcessing_Callback* callback|指向回调对象的指针。| |OH_VideoProcessingCallback_OnState onState|回调函数。|

返回:

|类型|说明| |–|–| |VideoProcessing_ErrorCode|如果函数绑定成功,返回VIDEO_PROCESSING_SUCCESS。
如果callback为空或者onState为空,返回VIDEO_PROCESSING_ERROR_INVALID_PARAMETER。|

OH_VideoProcessingCallback_BindOnNewOutputBuffer()

VideoProcessing_ErrorCode OH_VideoProcessingCallback_BindOnNewOutputBuffer(VideoProcessing_Callback* callback,OH_VideoProcessingCallback_OnNewOutputBuffer onNewOutputBuffer)

描述

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

起始版本: 12

参数:

|参数项|描述| |–|–| |VideoProcessing_Callback* callback|指向回调对象的指针。| |OH_VideoProcessingCallback_OnNewOutputBuffer onNewOutputBuffer|回调函数。|

返回:

|类型|说明| |–|–| |VideoProcessing_ErrorCode|如果函数绑定成功,返回VIDEO_PROCESSING_SUCCESS。
如果callback为空,返回VIDEO_PROCESSING_ERROR_INVALID_PARAMETER。|

你可能感兴趣的鸿蒙文章

harmony 鸿蒙Media Kit(媒体服务)

harmony 鸿蒙Interface (AVImageGenerator)

harmony 鸿蒙Interface (AVMetadataExtractor)

harmony 鸿蒙Interface (AVPlayer)

harmony 鸿蒙Interface (AVRecorder)

harmony 鸿蒙Interface (AVScreenCaptureRecorder)

harmony 鸿蒙Interface (AVTranscoder)

harmony 鸿蒙废弃的Interface (AudioPlayer, deprecated)

harmony 鸿蒙废弃的Interface (AudioRecorder, deprecated)

harmony 鸿蒙Interface (MediaSource)

0  赞