native_avcodec_videoencoder.h

概述

声明用于视频编码的Native API。

库: libnative_media_venc.so

起始版本: 9

相关模块:VideoEncoder

汇总

类型定义

名称 描述
typedef enum OH_VideoEncodeBitrateMode OH_VideoEncodeBitrateMode 视频编码器的比特率模式。

枚举

名称 描述
OH_VideoEncodeBitrateMode { CBR = 0, VBR = 1, CQ = 2 } 视频编码器的比特率模式。

函数

名称 描述
OH_AVCodec * OH_VideoEncoder_CreateByMime (const char *mime) 从MIME类型创建视频编码器实例。
OH_AVCodec * OH_VideoEncoder_CreateByName (const char *name) 通过视频编码器名称创建视频编码器实例。
OH_AVErrCode OH_VideoEncoder_Destroy (OH_AVCodec *codec) 清理编码器内部资源,销毁编码器实例。
OH_AVErrCode OH_VideoEncoder_SetCallback (OH_AVCodec *codec, OH_AVCodecAsyncCallback callback, void *userData) 设置异步回调函数,让应用可以响应视频编码器生成的事件。
OH_AVErrCode OH_VideoEncoder_RegisterCallback (OH_AVCodec *codec, OH_AVCodecCallback callback, void *userData) 注册异步回调函数,让应用可以响应视频编码器生成的事件。
OH_AVErrCode OH_VideoEncoder_Configure (OH_AVCodec *codec, OH_AVFormat *format) 配置视频编码器,通常需要配置要编码的视频轨的描述信息。
OH_AVErrCode OH_VideoEncoder_Prepare (OH_AVCodec *codec) 准备编码器的内部资源。
OH_AVErrCode OH_VideoEncoder_Start (OH_AVCodec *codec) 启动编码器,准备成功后必须调用此接口。
OH_AVErrCode OH_VideoEncoder_Stop (OH_AVCodec *codec) 停止编码器。
OH_AVErrCode OH_VideoEncoder_Flush (OH_AVCodec *codec) 清除编码器中缓存的输入和输出数据。
OH_AVErrCode OH_VideoEncoder_Reset (OH_AVCodec *codec) 重置编码器。
OH_AVFormat * OH_VideoEncoder_GetOutputDescription (OH_AVCodec *codec) 获取编码器输出数据的描述信息。
OH_AVErrCode OH_VideoEncoder_SetParameter (OH_AVCodec *codec, OH_AVFormat *format) 为编码器设置动态参数。
OH_AVErrCode OH_VideoEncoder_GetSurface (OH_AVCodec *codec, OHNativeWindow **window) 从视频编码器获取输入Surface。
OH_AVErrCode OH_VideoEncoder_FreeOutputData (OH_AVCodec *codec, uint32_t index) 将处理后的输出缓冲区返回给编码器。
OH_AVErrCode OH_VideoEncoder_NotifyEndOfStream (OH_AVCodec *codec) 通知视频编码器输入流已结束。
OH_AVErrCode OH_VideoEncoder_PushInputData (OH_AVCodec *codec, uint32_t index, OH_AVCodecBufferAttr attr) 将填入数据的输入缓冲区提交给视频编码器。
OH_AVErrCode OH_VideoEncoder_PushInputBuffer (OH_AVCodec *codec, uint32_t index) 将填入数据的输入缓冲区提交给视频编码器。
OH_AVErrCode OH_VideoEncoder_FreeOutputBuffer (OH_AVCodec *codec, uint32_t index) 将处理后的输出缓冲区返回给编码器。
OH_AVFormat * OH_VideoEncoder_GetInputDescription (OH_AVCodec *codec) 获取视频编码器接收的描述信息。
OH_AVErrCode OH_VideoEncoder_IsValid (OH_AVCodec *codec, bool *isValid) 检查当前编码实例是否有效。