openharmony 鸿蒙 _codec_v10

2025-06-16 浏览 (1)

Codec(V1_0)

概述

Codec模块接口定义。

Codec模块涉及自定义类型、音视频编解码组件初始化、参数设置、数据的轮转和控制等。

起始版本: 3.2

汇总

文件

名称描述
CodecImageType.idl定义图像编解码器模块API中使用的自定义数据类型,包括编解码器图像参数、类型和缓冲区。
CodecTypes.idlCodec模块接口定义中使用的自定义数据类型。
ICodecCallback.idl主要包括回调函数接口定义。
ICodecComponent.idl主要包括Codec组件接口定义。
ICodecComponentManager.idl主要包括Codec组件管理类接口。
ICodecImage.idl定义图像编解码器的API。

名称描述
struct  CodecImageRegion定义图像区域信息。
struct  CodecImageBuffer定义编解码图像缓冲区信息。
struct  CodecImageCapability定义图像编解码器功能。
struct  CodecJpegQuantTable定义jpeg图像量化表信息。
struct  CodecJpegHuffTable定义jpeg图像Huffman表信息。
struct  CodecJpegCompInfo定义jpeg图像的颜色分量信息。
struct  CodecJpegDecInfo定义jpeg图像解码信息。
struct  Alignment对齐结构定义。
struct  Rect矩形的定义。
struct  RangeValue取值范围的定义。
struct  CodecVideoPortCap定义视频编解码能力。
struct  CodecAudioPortCap定义音频编解码能力。
struct  PortCap定义音视频编解码能力。
struct  OmxVerType定义组件的版本信息。
union  OMX_VERSIONTYPE定义组件的版本信息。
struct  CodecCompCapability定义Codec编解码能力。
struct  OmxCodecBufferCodec buffer信息的定义。
struct  OMX_TUNNELSETUPTYPE用于将数据从输出端口传递到输入端口。
struct  CompVerInfo定义了组件信息,包含组件名,UUID, 组件版本以及spec版本。
struct  EventInfo定义事件上报信息。
interface  ICodecCallbackCodec回调接口定义。
interface  ICodecComponentCodec组件接口定义。
interface  ICodecComponentManagerCodec组件管理类接口定义。
interface  ICodecImage图像编解码器模块接口。

枚举

名称描述
CodecImageRole { CODEC_IMAGE_JPEG = 0 , CODEC_IMAGE_HEIF , CODEC_IMAGE_INVALID }编解码的图像格式枚举。
CodecImageType { CODEC_IMAGE_TYPE_DECODER = 0 , CODEC_IMAGE_TYPE_ENCODER , CODEC_IMAGE_TYPE_INVALID }定义图像编解码器类型。
CodecType {
VIDEO_DECODER, VIDEO_ENCODER, AUDIO_DECODER, AUDIO_ENCODER,   INVALID_TYPE
}
枚举编解码的类型。
AvCodecRole {
MEDIA_ROLETYPE_IMAGE_JPEG = 0, MEDIA_ROLETYPE_VIDEO_AVC, MEDIA_ROLETYPE_VIDEO_HEVC, MEDIA_ROLETYPE_AUDIO_FIRST = 0x10000,   MEDIA_ROLETYPE_AUDIO_AAC = 0x10000, MEDIA_ROLETYPE_AUDIO_G711A, MEDIA_ROLETYPE_AUDIO_G711U, MEDIA_ROLETYPE_AUDIO_G726,   MEDIA_ROLETYPE_AUDIO_PCM, MEDIA_ROLETYPE_AUDIO_MP3, MEDIA_ROLETYPE_INVALID
}
枚举音视频编解码组件类型。
Profile {
INVALID_PROFILE = 0, AAC_LC_PROFILE = 0x1000, AAC_MAIN_PROFILE, AAC_HE_V1_PROFILE,   AAC_HE_V2_PROFILE, AAC_LD_PROFILE, AAC_ELD_PROFILE, AVC_BASELINE_PROFILE = 0x2000,   AVC_MAIN_PROFILE, AVC_HIGH_PROFILE, HEVC_MAIN_PROFILE = 0x3000, HEVC_MAIN_10_PROFILE
}
枚举Codec规格。
CodecCapsMask { CODEC_CAP_ADAPTIVE_PLAYBACK = 0x1, CODEC_CAP_SECURE_PLAYBACK = 0x2, CODEC_CAP_TUNNEL_PLAYBACK = 0x4, CODEC_CAP_MULTI_PLANE = 0x10000 }枚举播放能力。
AudioSampleRate {
AUD_SAMPLE_RATE_8000 = 8000, AUD_SAMPLE_RATE_12000 = 12000, AUD_SAMPLE_RATE_11025 = 11025, AUD_SAMPLE_RATE_16000 = 16000,   AUD_SAMPLE_RATE_22050 = 22050, AUD_SAMPLE_RATE_24000 = 24000, AUD_SAMPLE_RATE_32000 = 32000, AUD_SAMPLE_RATE_44100 = 44100,   AUD_SAMPLE_RATE_48000 = 48000, AUD_SAMPLE_RATE_64000 = 64000, AUD_SAMPLE_RATE_96000 = 96000, AUD_SAMPLE_RATE_INVALID
}
枚举音频采样率。
AudioSampleFormat {
AUDIO_SAMPLE_FMT_U8 , AUDIO_SAMPLE_FMT_S16 , AUDIO_SAMPLE_FMT_S32 , AUDIO_SAMPLE_FMT_FLOAT , AUDIO_SAMPLE_FMT_DOUBLE , AUDIO_SAMPLE_FMT_U8P , AUDIO_SAMPLE_FMT_S16P , AUDIO_SAMPLE_FMT_S32P , AUDIO_SAMPLE_FMT_FLOATP , AUDIO_SAMPLE_FMT_DOUBLEP , AUDIO_SAMPLE_FMT_INVALID
}
枚举音频采样格式。
CodecProcessMode {
PROCESS_BLOCKING_INPUT_BUFFER = 0X1, PROCESS_BLOCKING_OUTPUT_BUFFER = 0X2, PROCESS_BLOCKING_CONTROL_FLOW = 0X4, PROCESS_NONBLOCKING_INPUT_BUFFER = 0X100,   PROCESS_NONBLOCKING_OUTPUT_BUFFER = 0X200, PROCESS_NONBLOCKING_CONTROL_FLOW = 0X400
}
枚举编解码处理模式。
ShareMemTypes { READ_WRITE_TYPE = 0x1, READ_ONLY_TYPE = 0x2 }枚举共享内存类型。
BitRateMode {
BIT_RATE_MODE_INVALID , BIT_RATE_MODE_VBR , BIT_RATE_MODE_CBR , BIT_RATE_MODE_CQ , BIT_RATE_MODE_VCBR , BIT_RATE_MODE_ABR
}
枚举比特率类型。
CodecEventType {
OMX_EventCmdComplete , OMX_EventError , OMX_EventMark , OMX_EventPortSettingsChanged ,
OMX_EventBufferFlag , OMX_EventResourcesAcquired , OMX_EventComponentResumed , OMX_EventDynamicResourcesAvailable ,
OMX_EventPortFormatDetected , OMX_EventKhronosExtensions = 0x6F000000 , OMX_EventVendorStartUnused = 0x7F000000 , OMX_EventMax = 0x7FFFFFFF
}
枚举组件状态
CodecCommandType {
OMX_CommandStateSet , OMX_CommandFlush , OMX_CommandPortDisable , OMX_CommandPortEnable , OMX_CommandMarkBuffer , OMX_CommandKhronosExtensions = 0x6F000000 , OMX_CommandVendorStartUnused = 0x7F000000 , OMX_CommandMax = 0x7FFFFFFF
}
枚举ICodecComponent中SendCommand接口的cmd参数
CodecStateType {
OMX_StateInvalid , OMX_StateLoaded , OMX_StateIdle , OMX_StateExecuting , OMX_StatePause , OMX_StateWaitForResources , OMX_StateKhronosExtensions = 0x6F000000 , OMX_StateVendorStartUnused = 0x7F000000 , OMX_StateMax = 0x7FFFFFFF
}
更改组件状态
CodecBufferSupplierType {
OMX_BufferSupplyUnspecified = 0 , OMX_BufferSupplyInput , OMX_BufferSupplyOutput , OMX_BufferSupplyKhronosExtensions = 0x6F000000 , OMX_BufferSupplyVendorStartUnused = 0x7F000000 , OMX_BufferSupplyMax = 0x7FFFFFFF
}
表示端口供应商在两个端口之间建立隧道时的首选项

枚举类型说明

AudioSampleFormat

enum AudioSampleFormat

描述

枚举音频采样格式。

对于平面格式的采样格式,每个声道的数据是独立存储在data中; 对于打包格式的采样格式,只使用第一个data,每个声道的数据是交错存储的。

起始版本: 3.2

枚举值描述
AUDIO_SAMPLE_FMT_U8无符号8位整型,打包格式。
AUDIO_SAMPLE_FMT_S16带符号16位整型, 打包格式。
AUDIO_SAMPLE_FMT_S32带符号32位整型, 打包格式。
AUDIO_SAMPLE_FMT_FLOAT浮点型, 打包格式。
AUDIO_SAMPLE_FMT_DOUBLE双精度浮点型, 打包格式。
AUDIO_SAMPLE_FMT_U8P无符号8位整型, 平面格式。
AUDIO_SAMPLE_FMT_S16P带符号16位整型, 平面格式。
AUDIO_SAMPLE_FMT_S32P带符号32位整型, 平面格式。
AUDIO_SAMPLE_FMT_FLOATP浮点型, 平面格式。
AUDIO_SAMPLE_FMT_DOUBLEP双精度浮点型, 平面格式。
AUDIO_SAMPLE_FMT_INVALID无效采样格式。

AudioSampleRate

enum AudioSampleRate

描述

枚举音频采样率。

起始版本: 3.2

枚举值描述
AUD_SAMPLE_RATE_80008K采样率。
AUD_SAMPLE_RATE_1200012K采样率。
AUD_SAMPLE_RATE_1102511.025K采样率。
AUD_SAMPLE_RATE_1600016K采样率。
AUD_SAMPLE_RATE_2205022.050K采样率。
AUD_SAMPLE_RATE_2400024K采样率。
AUD_SAMPLE_RATE_3200032K采样率。
AUD_SAMPLE_RATE_4410044.1K采样率。
AUD_SAMPLE_RATE_4800048K采样率。
AUD_SAMPLE_RATE_6400064K采样率。
AUD_SAMPLE_RATE_9600096K采样率。
AUD_SAMPLE_RATE_INVALID无效采样率。

AvCodecRole

enum AvCodecRole

描述

枚举音视频编解码组件类型。

起始版本: 3.2

枚举值描述
MEDIA_ROLETYPE_IMAGE_JPEG图像JPEG媒体类型。
MEDIA_ROLETYPE_VIDEO_AVC视频H.264媒体类型。
MEDIA_ROLETYPE_VIDEO_HEVC视频H.265媒体类型。
MEDIA_ROLETYPE_AUDIO_FIRST音频编解码器类型。
MEDIA_ROLETYPE_AUDIO_AAC音频AAC媒体类型。
MEDIA_ROLETYPE_AUDIO_G711A音频G711A媒体类型。
MEDIA_ROLETYPE_AUDIO_G711U音频G711U媒体类型。
MEDIA_ROLETYPE_AUDIO_G726音频G726媒体类型。
MEDIA_ROLETYPE_AUDIO_PCM音频PCM媒体类型。
MEDIA_ROLETYPE_AUDIO_MP3音频MP3媒体类型。
MEDIA_ROLETYPE_INVALID无效媒体类型。

BitRateMode

enum BitRateMode

描述

枚举比特率类型。

起始版本: 3.2

枚举值描述
BIT_RATE_MODE_INVALID定义的一个无效值。
BIT_RATE_MODE_VBR可变比特率。
BIT_RATE_MODE_CBR恒定比特率。
BIT_RATE_MODE_CQ恒定质量。
BIT_RATE_MODE_VCBR受约束的可变位速率。
BIT_RATE_MODE_ABR平均比特率。

CodecBufferSupplierType

enum CodecBufferSupplierType

描述

表示端口供应商在两个端口之间建立隧道时的首选项

起始版本: 3.2

枚举值描述
CODEC_BUFFER_SUPPLY_UNSPECIFIED提供缓冲区的端口未指定,或不指定
CODEC_BUFFER_SUPPLY_INPUT为输入端口提供缓冲区
CODEC_BUFFER_SUPPLY_OUTPUT为输出端口提供缓冲区
CODEC_BUFFER_SUPPLY_KHRONOS_EXTENSIONS用于引入Khronos标准扩展的保留区域
CODEC_BUFFER_SUPPLY_VENDOR_START_UNUSED用于引入供应商扩展的预留区域
CODEC_BUFFER_SUPPLY_MAX枚举的最大值

CodecCapsMask

enum CodecCapsMask

描述

枚举播放能力。

起始版本: 3.2

枚举值描述
CODEC_CAP_ADAPTIVE_PLAYBACK自适应播放能力。
CODEC_CAP_SECURE_PLAYBACK安全播放能力。
CODEC_CAP_TUNNEL_PLAYBACK通道播放能力。
CODEC_CAP_MULTI_PLANE视频图像平面/音频通道平面能力。

CodecCommandType

enum CodecCommandType

描述

枚举ICodecComponent中SendCommand接口的cmd参数

起始版本: 3.2

枚举值描述
CODEC_COMMAND_STATE_SET更改组件状态
CODEC_COMMAND_FLUSH刷新组件的数据队列
CODEC_COMMAND_PORT_DISABLE禁用组件上的端口
CODEC_COMMAND_PORT_ENABLE启用组件上的端口
CODEC_COMMAND_MARK_BUFFER标记组件/缓冲区以进行观察
CODEC_COMMAND_KHRONOS_EXTENSIONS用于引入Khronos标准扩展的保留区域
CODEC_COMMAND_VENDOR_START_UNUSED用于引入供应商扩展的预留区域
CODEC_COMMAND_MAX枚举的最大值

CodecEventType

enum CodecEventType

描述

枚举组件状态

起始版本: 3.2

枚举值描述
CODEC_EVENT_CMD_COMPLETE组件已成功完成命令
CODEC_EVENT_ERROR组件已检测到错误情况
CODEC_EVENT_MARK组件已检测到缓冲区标记
CODEC_EVENT_PORT_SETTINGS_CHANGED组件报告端口设置更改
CODEC_EVENT_BUFFER_FLAG组件已检测到EOS
CODEC_EVENT_RESOURCES_ACQUIRED组件已被授予资源,并正在自动启动从OMX_StateWaitForResources状态更改为OMX_StateIdle
CODEC_EVENT_COMPONENT_RESUMED组件回收由于重新占用的资源
CODEC_EVENT_DYNAMIC_RESOURCES_AVAILABLE组件已获取此前不可用的动态资源
CODEC_EVENT_PORT_FORMAT_DETECTED组件已经检测出数据格式
CODEC_EVENT_KHRONOS_EXTENSIONS用于引入Khronos标准扩展的保留区域
CODEC_EVENT_VENDOR_START_UNUSED用于引入供应商扩展的预留区域
CODEC_EVENT_MAX枚举的最大值

CodecImageRole

enum CodecImageRole

描述

编解码的图像格式枚举。

起始版本: 4.0

枚举值描述
CODEC_IMAGE_JPEGJpeg格式.
CODEC_IMAGE_HEIFHeif格式.
CODEC_IMAGE_INVALID无效的格式

CodecImageType

enum CodecImageType

描述

定义图像编解码器类型。

起始版本: 4.0

枚举值描述
CODEC_IMAGE_TYPE_DECODER图像解码器。
CODEC_IMAGE_TYPE_ENCODER图像编码器。
CODEC_IMAGE_TYPE_INVALID无效类型

CodecProcessMode

enum CodecProcessMode

描述

枚举编解码处理模式。

起始版本: 3.2

枚举值描述
PROCESS_BLOCKING_INPUT_BUFFER同步模式输入buffer。
PROCESS_BLOCKING_OUTPUT_BUFFER同步模式输出buffer。
PROCESS_BLOCKING_CONTROL_FLOW同步模式控制流。
PROCESS_NONBLOCKING_INPUT_BUFFER异步模式输入buffer。
PROCESS_NONBLOCKING_OUTPUT_BUFFER异步模式输出buffer。
PROCESS_NONBLOCKING_CONTROL_FLOW异步模式控制流。

CodecStateType

enum CodecStateType

描述

更改组件状态

起始版本: 3.2

枚举值描述
CODEC_STATE_INVALID组件已检测到其内部数据结构已损坏,以至于无法正确确定其状态
CODEC_STATE_LOADED组件已加载,但尚未完成初始化。ICodecComponent.SetParameter 和ICodecComponent.GetParameter是允许发送到处于此状态的组件的唯一有效函数
CODEC_STATE_IDLE组件初始化已成功完成,组件已准备好启动
CODEC_STATE_EXECUTING组件已接受启动命令并正在处理数据(如果数据可用)
CODEC_STATE_PAUSE组件已收到暂停命令
CODEC_STATE_WAIT_FOR_RESOURCES组件正在等待资源,无论是在抢占之后还是在获得请求的资源之前
CODEC_STATE_KHRONOS_EXTENSIONS用于引入Khronos标准扩展的保留区域
CODEC_STATE_VENDOR_START_UNUSED用于引入供应商扩展的预留区域
CODEC_STATE_MAX枚举最大值

CodecType

enum CodecType

描述

枚举编解码的类型。

起始版本: 3.2

枚举值描述
VIDEO_DECODER视频解码类型。
VIDEO_ENCODER视频编码类型。
AUDIO_DECODER音频解码类型。
AUDIO_ENCODER音频编码类型。
INVALID_TYPE无效类型。

Profile

enum Profile

描述

枚举Codec规格。

起始版本: 3.2

枚举值描述
INVALID_PROFILE无效的规格。
AAC_LC_PROFILEAAC低复杂度规格。
AAC_MAIN_PROFILEAAC主规格。
AAC_HE_V1_PROFILEAAC高效率和频带重现规格,又称为HEAAC、AAC+、或者AACPlusV1。
AAC_HE_V2_PROFILEAAC高效率和频带重现以及变量立体声规格,又称为AAC++或者AACPlusV2。
AAC_LD_PROFILEAAC低延迟规格。
AAC_ELD_PROFILEAAC增强型低延迟规格。
AVC_BASELINE_PROFILEH.264低规格。
AVC_MAIN_PROFILEH.264主规格。
AVC_HIGH_PROFILEH.264高规格。
HEVC_MAIN_PROFILEH.265主规格。
HEVC_MAIN_10_PROFILEH.265 10比特主规格。

ShareMemTypes

enum ShareMemTypes

描述

枚举共享内存类型。

起始版本: 3.2

枚举值描述
READ_WRITE_TYPE可读可写的共享内存类型。
READ_ONLY_TYPE只读的共享内存类型。

你可能感兴趣的鸿蒙文章

harmony 鸿蒙CodeC HDI 参考

harmony 鸿蒙Alignment

harmony 鸿蒙Alignment

harmony 鸿蒙CodecAudioPortCap

harmony 鸿蒙CodecAudioPortCap

harmony 鸿蒙CodecCompCapability

harmony 鸿蒙CodecCompCapability

harmony 鸿蒙CodecExtTypes.idl

harmony 鸿蒙CodecImageBuffer

harmony 鸿蒙CodecImageBuffer

  • 所属分类: 后端技术
  • 本文标签: 软件 鸿蒙
  • 版权声明: 本文链接 https://seaxiang.com/blog/GbNmwM