1# Codec(V1_0) 2 3 4## 概述 5 6Codec模块接口定义。 7 8Codec模块涉及自定义类型、音视频编解码组件初始化、参数设置、数据的轮转和控制等。 9 10**起始版本:** 3.2 11 12 13## 汇总 14 15 16### 文件 17 18| 名称 | 描述 | 19| -------- | -------- | 20| [CodecImageType.idl](_codec_image_type_8idl_v10.md) | 定义图像编解码器模块API中使用的自定义数据类型,包括编解码器图像参数、类型和缓冲区。 | 21| [CodecTypes.idl](_codec_types_8idl_v10.md) | Codec模块接口定义中使用的自定义数据类型。 | 22| [ICodecCallback.idl](_i_codec_callback_8idl_v10.md) | 主要包括回调函数接口定义。 | 23| [ICodecComponent.idl](_i_codec_component_8idl_v10.md) | 主要包括Codec组件接口定义。 | 24| [ICodecComponentManager.idl](_i_codec_component_manager_8idl_v10.md) | 主要包括Codec组件管理类接口。 | 25| [ICodecImage.idl](_i_codec_image_8idl_v10.md) | 定义图像编解码器的API。 | 26 27 28### 类 29 30| 名称 | 描述 | 31| -------- | -------- | 32| struct [CodecImageRegion](_codec_image_region_v10.md) | 定义图像区域信息。 | 33| struct [CodecImageBuffer](_codec_image_buffer_v10.md) | 定义编解码图像缓冲区信息。 | 34| struct [CodecImageCapability](_codec_image_capability_v10.md) | 定义图像编解码器功能。 | 35| struct [CodecJpegQuantTable](_codec_jpeg_quant_table_v10.md) | 定义jpeg图像量化表信息。 | 36| struct [CodecJpegHuffTable](_codec_jpeg_huff_table_v10.md) | 定义jpeg图像Huffman表信息。 | 37| struct [CodecJpegCompInfo](_codec_jpeg_comp_info_v10.md) | 定义jpeg图像的颜色分量信息。 | 38| struct [CodecJpegDecInfo](_codec_jpeg_dec_info_v10.md) | 定义jpeg图像解码信息。 | 39| struct [Alignment](_alignment_v10.md) | 对齐结构定义。 | 40| struct [Rect](_rect_v10.md) | 矩形的定义。 | 41| struct [RangeValue](_range_value_v10.md) | 取值范围的定义。 | 42| struct [CodecVideoPortCap](_codec_video_port_cap_v10.md) | 定义视频编解码能力。 | 43| struct [CodecAudioPortCap](_codec_audio_port_cap_v10.md) | 定义音频编解码能力。 | 44| struct [PortCap](_port_cap_v10.md) | 定义音视频编解码能力。 | 45| struct [OmxVerType](_omx_ver_type_v10.md) | 定义组件的版本信息。 | 46| union [OMX_VERSIONTYPE](union_o_m_x___v_e_r_s_i_o_n_t_y_p_e_v10.md) | 定义组件的版本信息。 | 47| struct [CodecCompCapability](_codec_comp_capability_v10.md) | 定义Codec编解码能力。 | 48| struct [OmxCodecBuffer](_omx_codec_buffer_v10.md) | Codec buffer信息的定义。 | 49| struct [OMX_TUNNELSETUPTYPE](_o_m_x___t_u_n_n_e_l_s_e_t_u_p_t_y_p_e_v10.md) | 用于将数据从输出端口传递到输入端口。 | 50| struct [CompVerInfo](_comp_ver_info_v10.md) | 定义了组件信息,包含组件名,UUID, 组件版本以及spec版本。 | 51| struct [EventInfo](_event_info_v10.md) | 定义事件上报信息。 | 52| interface [ICodecCallback](interface_i_codec_callback_v10.md) | Codec回调接口定义。 | 53| interface [ICodecComponent](interface_i_codec_component_v10.md) | Codec组件接口定义。 | 54| interface [ICodecComponentManager](interface_i_codec_component_manager_v10.md) | Codec组件管理类接口定义。 | 55| interface [ICodecImage](interface_i_codec_image_v10.md) | 图像编解码器模块接口。 | 56 57 58### 枚举 59 60| 名称 | 描述 | 61| -------- | -------- | 62| [CodecImageRole](#codecimagerole) { CODEC_IMAGE_JPEG = 0 , CODEC_IMAGE_HEIF , CODEC_IMAGE_INVALID } | 编解码的图像格式枚举。 | 63| [CodecImageType](#codecimagetype) { CODEC_IMAGE_TYPE_DECODER = 0 , CODEC_IMAGE_TYPE_ENCODER , CODEC_IMAGE_TYPE_INVALID } | 定义图像编解码器类型。 | 64| [CodecType](#codectype) {<br/>VIDEO_DECODER, VIDEO_ENCODER, AUDIO_DECODER, AUDIO_ENCODER, INVALID_TYPE<br/>} | 枚举编解码的类型。 | 65| [AvCodecRole](#avcodecrole) {<br/>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<br/>} | 枚举音视频编解码组件类型。 | 66| [Profile](#profile) {<br/>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<br/>} | 枚举Codec规格。 | 67| [CodecCapsMask](#codeccapsmask) { CODEC_CAP_ADAPTIVE_PLAYBACK = 0x1, CODEC_CAP_SECURE_PLAYBACK = 0x2, CODEC_CAP_TUNNEL_PLAYBACK = 0x4, CODEC_CAP_MULTI_PLANE = 0x10000 } | 枚举播放能力。 | 68| [AudioSampleRate](#audiosamplerate) {<br/>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<br/>} | 枚举音频采样率。 | 69| [AudioSampleFormat](#audiosampleformat) {<br/>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<br/>} | 枚举音频采样格式。 | 70| [CodecProcessMode](#codecprocessmode) {<br/>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<br/>} | 枚举编解码处理模式。 | 71| [ShareMemTypes](#sharememtypes) { READ_WRITE_TYPE = 0x1, READ_ONLY_TYPE = 0x2 } | 枚举共享内存类型。 | 72| [BitRateMode](#bitratemode) {<br/>BIT_RATE_MODE_INVALID , BIT_RATE_MODE_VBR , BIT_RATE_MODE_CBR , BIT_RATE_MODE_CQ , BIT_RATE_MODE_VCBR , BIT_RATE_MODE_ABR<br/>} | 枚举比特率类型。 | 73| [CodecEventType](#codeceventtype) {<br/>OMX_EventCmdComplete , OMX_EventError , OMX_EventMark , OMX_EventPortSettingsChanged ,<br/>OMX_EventBufferFlag , OMX_EventResourcesAcquired , OMX_EventComponentResumed , OMX_EventDynamicResourcesAvailable ,<br/>OMX_EventPortFormatDetected , OMX_EventKhronosExtensions = 0x6F000000 , OMX_EventVendorStartUnused = 0x7F000000 , OMX_EventMax = 0x7FFFFFFF<br/>} | 枚举组件状态 | 74| [CodecCommandType](#codeccommandtype) {<br/>OMX_CommandStateSet , OMX_CommandFlush , OMX_CommandPortDisable , OMX_CommandPortEnable , OMX_CommandMarkBuffer , OMX_CommandKhronosExtensions = 0x6F000000 , OMX_CommandVendorStartUnused = 0x7F000000 , OMX_CommandMax = 0x7FFFFFFF<br/>} | 枚举ICodecComponent中SendCommand接口的cmd参数 | 75| [CodecStateType](#codecstatetype) {<br/>OMX_StateInvalid , OMX_StateLoaded , OMX_StateIdle , OMX_StateExecuting , OMX_StatePause , OMX_StateWaitForResources , OMX_StateKhronosExtensions = 0x6F000000 , OMX_StateVendorStartUnused = 0x7F000000 , OMX_StateMax = 0x7FFFFFFF<br/>} | 更改组件状态 | 76| [CodecBufferSupplierType](#codecbuffersuppliertype) {<br/>OMX_BufferSupplyUnspecified = 0 , OMX_BufferSupplyInput , OMX_BufferSupplyOutput , OMX_BufferSupplyKhronosExtensions = 0x6F000000 , OMX_BufferSupplyVendorStartUnused = 0x7F000000 , OMX_BufferSupplyMax = 0x7FFFFFFF<br/>} | 表示端口供应商在两个端口之间建立隧道时的首选项 | 77 78 79## 枚举类型说明 80 81 82### AudioSampleFormat 83 84``` 85enum AudioSampleFormat 86``` 87 88**描述** 89 90 91枚举音频采样格式。 92 93对于平面格式的采样格式,每个声道的数据是独立存储在data中; 对于打包格式的采样格式,只使用第一个data,每个声道的数据是交错存储的。 94 95**起始版本:** 3.2 96 97| 枚举值 | 描述 | 98| -------- | -------- | 99| AUDIO_SAMPLE_FMT_U8 | 无符号8位整型,打包格式。 | 100| AUDIO_SAMPLE_FMT_S16 | 带符号16位整型, 打包格式。 | 101| AUDIO_SAMPLE_FMT_S32 | 带符号32位整型, 打包格式。 | 102| AUDIO_SAMPLE_FMT_FLOAT | 浮点型, 打包格式。 | 103| AUDIO_SAMPLE_FMT_DOUBLE | 双精度浮点型, 打包格式。 | 104| AUDIO_SAMPLE_FMT_U8P | 无符号8位整型, 平面格式。 | 105| AUDIO_SAMPLE_FMT_S16P | 带符号16位整型, 平面格式。 | 106| AUDIO_SAMPLE_FMT_S32P | 带符号32位整型, 平面格式。 | 107| AUDIO_SAMPLE_FMT_FLOATP | 浮点型, 平面格式。 | 108| AUDIO_SAMPLE_FMT_DOUBLEP | 双精度浮点型, 平面格式。 | 109| AUDIO_SAMPLE_FMT_INVALID | 无效采样格式。 | 110 111 112### AudioSampleRate 113 114``` 115enum AudioSampleRate 116``` 117 118**描述** 119 120 121枚举音频采样率。 122 123**起始版本:** 3.2 124 125| 枚举值 | 描述 | 126| -------- | -------- | 127| AUD_SAMPLE_RATE_8000 | 8K采样率。 | 128| AUD_SAMPLE_RATE_12000 | 12K采样率。 | 129| AUD_SAMPLE_RATE_11025 | 11.025K采样率。 | 130| AUD_SAMPLE_RATE_16000 | 16K采样率。 | 131| AUD_SAMPLE_RATE_22050 | 22.050K采样率。 | 132| AUD_SAMPLE_RATE_24000 | 24K采样率。 | 133| AUD_SAMPLE_RATE_32000 | 32K采样率。 | 134| AUD_SAMPLE_RATE_44100 | 44.1K采样率。 | 135| AUD_SAMPLE_RATE_48000 | 48K采样率。 | 136| AUD_SAMPLE_RATE_64000 | 64K采样率。 | 137| AUD_SAMPLE_RATE_96000 | 96K采样率。 | 138| AUD_SAMPLE_RATE_INVALID | 无效采样率。 | 139 140 141### AvCodecRole 142 143``` 144enum AvCodecRole 145``` 146 147**描述** 148 149 150枚举音视频编解码组件类型。 151 152**起始版本:** 3.2 153 154| 枚举值 | 描述 | 155| -------- | -------- | 156| MEDIA_ROLETYPE_IMAGE_JPEG | 图像JPEG媒体类型。 | 157| MEDIA_ROLETYPE_VIDEO_AVC | 视频H.264媒体类型。 | 158| MEDIA_ROLETYPE_VIDEO_HEVC | 视频H.265媒体类型。 | 159| MEDIA_ROLETYPE_AUDIO_FIRST | 音频编解码器类型。 | 160| MEDIA_ROLETYPE_AUDIO_AAC | 音频AAC媒体类型。 | 161| MEDIA_ROLETYPE_AUDIO_G711A | 音频G711A媒体类型。 | 162| MEDIA_ROLETYPE_AUDIO_G711U | 音频G711U媒体类型。 | 163| MEDIA_ROLETYPE_AUDIO_G726 | 音频G726媒体类型。 | 164| MEDIA_ROLETYPE_AUDIO_PCM | 音频PCM媒体类型。 | 165| MEDIA_ROLETYPE_AUDIO_MP3 | 音频MP3媒体类型。 | 166| MEDIA_ROLETYPE_INVALID | 无效媒体类型。 | 167 168 169### BitRateMode 170 171``` 172enum BitRateMode 173``` 174 175**描述** 176 177 178枚举比特率类型。 179 180**起始版本:** 3.2 181 182| 枚举值 | 描述 | 183| -------- | -------- | 184| BIT_RATE_MODE_INVALID | 定义的一个无效值。 | 185| BIT_RATE_MODE_VBR | 可变比特率。 | 186| BIT_RATE_MODE_CBR | 恒定比特率。 | 187| BIT_RATE_MODE_CQ | 恒定质量。 | 188| BIT_RATE_MODE_VCBR | 受约束的可变位速率。 | 189| BIT_RATE_MODE_ABR | 平均比特率。 | 190 191 192### CodecBufferSupplierType 193 194``` 195enum CodecBufferSupplierType 196``` 197 198**描述** 199 200 201表示端口供应商在两个端口之间建立隧道时的首选项 202 203**起始版本:** 3.2 204 205| 枚举值 | 描述 | 206| -------- | -------- | 207| CODEC_BUFFER_SUPPLY_UNSPECIFIED | 提供缓冲区的端口未指定,或不指定 | 208| CODEC_BUFFER_SUPPLY_INPUT | 为输入端口提供缓冲区 | 209| CODEC_BUFFER_SUPPLY_OUTPUT | 为输出端口提供缓冲区 | 210| CODEC_BUFFER_SUPPLY_KHRONOS_EXTENSIONS | 用于引入Khronos标准扩展的保留区域 | 211| CODEC_BUFFER_SUPPLY_VENDOR_START_UNUSED | 用于引入供应商扩展的预留区域 | 212| CODEC_BUFFER_SUPPLY_MAX | 枚举的最大值 | 213 214 215### CodecCapsMask 216 217``` 218enum CodecCapsMask 219``` 220 221**描述** 222 223 224枚举播放能力。 225 226**起始版本:** 3.2 227 228| 枚举值 | 描述 | 229| -------- | -------- | 230| CODEC_CAP_ADAPTIVE_PLAYBACK | 自适应播放能力。 | 231| CODEC_CAP_SECURE_PLAYBACK | 安全播放能力。 | 232| CODEC_CAP_TUNNEL_PLAYBACK | 通道播放能力。 | 233| CODEC_CAP_MULTI_PLANE | 视频图像平面/音频通道平面能力。 | 234 235 236### CodecCommandType 237 238``` 239enum CodecCommandType 240``` 241 242**描述** 243 244 245枚举ICodecComponent中SendCommand接口的cmd参数 246 247**起始版本:** 3.2 248 249| 枚举值 | 描述 | 250| -------- | -------- | 251| CODEC_COMMAND_STATE_SET | 更改组件状态 | 252| CODEC_COMMAND_FLUSH | 刷新组件的数据队列 | 253| CODEC_COMMAND_PORT_DISABLE | 禁用组件上的端口 | 254| CODEC_COMMAND_PORT_ENABLE | 启用组件上的端口 | 255| CODEC_COMMAND_MARK_BUFFER | 标记组件/缓冲区以进行观察 | 256| CODEC_COMMAND_KHRONOS_EXTENSIONS | 用于引入Khronos标准扩展的保留区域 | 257| CODEC_COMMAND_VENDOR_START_UNUSED | 用于引入供应商扩展的预留区域 | 258| CODEC_COMMAND_MAX | 枚举的最大值 | 259 260 261### CodecEventType 262 263``` 264enum CodecEventType 265``` 266 267**描述** 268 269 270枚举组件状态 271 272**起始版本:** 3.2 273 274| 枚举值 | 描述 | 275| -------- | -------- | 276| CODEC_EVENT_CMD_COMPLETE | 组件已成功完成命令 | 277| CODEC_EVENT_ERROR | 组件已检测到错误情况 | 278| CODEC_EVENT_MARK | 组件已检测到缓冲区标记 | 279| CODEC_EVENT_PORT_SETTINGS_CHANGED | 组件报告端口设置更改 | 280| CODEC_EVENT_BUFFER_FLAG | 组件已检测到EOS | 281| CODEC_EVENT_RESOURCES_ACQUIRED | 组件已被授予资源,并正在自动启动从OMX_StateWaitForResources状态更改为OMX_StateIdle | 282| CODEC_EVENT_COMPONENT_RESUMED | 组件回收由于重新占用的资源 | 283| CODEC_EVENT_DYNAMIC_RESOURCES_AVAILABLE | 组件已获取此前不可用的动态资源 | 284| CODEC_EVENT_PORT_FORMAT_DETECTED | 组件已经检测出数据格式 | 285| CODEC_EVENT_KHRONOS_EXTENSIONS | 用于引入Khronos标准扩展的保留区域 | 286| CODEC_EVENT_VENDOR_START_UNUSED | 用于引入供应商扩展的预留区域 | 287| CODEC_EVENT_MAX | 枚举的最大值 | 288 289 290### CodecImageRole 291 292``` 293enum CodecImageRole 294``` 295 296**描述** 297 298 299编解码的图像格式枚举。 300 301**起始版本:** 4.0 302 303| 枚举值 | 描述 | 304| -------- | -------- | 305| CODEC_IMAGE_JPEG | Jpeg格式. | 306| CODEC_IMAGE_HEIF | Heif格式. | 307| CODEC_IMAGE_INVALID | 无效的格式 | 308 309 310### CodecImageType 311 312``` 313enum CodecImageType 314``` 315 316**描述** 317 318 319定义图像编解码器类型。 320 321**起始版本:** 4.0 322 323| 枚举值 | 描述 | 324| -------- | -------- | 325| CODEC_IMAGE_TYPE_DECODER | 图像解码器。 | 326| CODEC_IMAGE_TYPE_ENCODER | 图像编码器。 | 327| CODEC_IMAGE_TYPE_INVALID | 无效类型 | 328 329 330### CodecProcessMode 331 332``` 333enum CodecProcessMode 334``` 335 336**描述** 337 338 339枚举编解码处理模式。 340 341**起始版本:** 3.2 342 343| 枚举值 | 描述 | 344| -------- | -------- | 345| PROCESS_BLOCKING_INPUT_BUFFER | 同步模式输入buffer。 | 346| PROCESS_BLOCKING_OUTPUT_BUFFER | 同步模式输出buffer。 | 347| PROCESS_BLOCKING_CONTROL_FLOW | 同步模式控制流。 | 348| PROCESS_NONBLOCKING_INPUT_BUFFER | 异步模式输入buffer。 | 349| PROCESS_NONBLOCKING_OUTPUT_BUFFER | 异步模式输出buffer。 | 350| PROCESS_NONBLOCKING_CONTROL_FLOW | 异步模式控制流。 | 351 352 353### CodecStateType 354 355``` 356enum CodecStateType 357``` 358 359**描述** 360 361 362更改组件状态 363 364**起始版本:** 3.2 365 366| 枚举值 | 描述 | 367| -------- | -------- | 368| CODEC_STATE_INVALID | 组件已检测到其内部数据结构已损坏,以至于无法正确确定其状态 | 369| CODEC_STATE_LOADED | 组件已加载,但尚未完成初始化。ICodecComponent.SetParameter 和ICodecComponent.GetParameter是允许发送到处于此状态的组件的唯一有效函数 | 370| CODEC_STATE_IDLE | 组件初始化已成功完成,组件已准备好启动 | 371| CODEC_STATE_EXECUTING | 组件已接受启动命令并正在处理数据(如果数据可用) | 372| CODEC_STATE_PAUSE | 组件已收到暂停命令 | 373| CODEC_STATE_WAIT_FOR_RESOURCES | 组件正在等待资源,无论是在抢占之后还是在获得请求的资源之前 | 374| CODEC_STATE_KHRONOS_EXTENSIONS | 用于引入Khronos标准扩展的保留区域 | 375| CODEC_STATE_VENDOR_START_UNUSED | 用于引入供应商扩展的预留区域 | 376| CODEC_STATE_MAX | 枚举最大值 | 377 378 379### CodecType 380 381``` 382enum CodecType 383``` 384 385**描述** 386 387 388枚举编解码的类型。 389 390**起始版本:** 3.2 391 392| 枚举值 | 描述 | 393| -------- | -------- | 394| VIDEO_DECODER | 视频解码类型。 | 395| VIDEO_ENCODER | 视频编码类型。 | 396| AUDIO_DECODER | 音频解码类型。 | 397| AUDIO_ENCODER | 音频编码类型。 | 398| INVALID_TYPE | 无效类型。 | 399 400 401### Profile 402 403``` 404enum Profile 405``` 406 407**描述** 408 409 410枚举Codec规格。 411 412**起始版本:** 3.2 413 414| 枚举值 | 描述 | 415| -------- | -------- | 416| INVALID_PROFILE | 无效的规格。 | 417| AAC_LC_PROFILE | AAC低复杂度规格。 | 418| AAC_MAIN_PROFILE | AAC主规格。 | 419| AAC_HE_V1_PROFILE | AAC高效率和频带重现规格,又称为HEAAC、AAC+、或者AACPlusV1。 | 420| AAC_HE_V2_PROFILE | AAC高效率和频带重现以及变量立体声规格,又称为AAC++或者AACPlusV2。 | 421| AAC_LD_PROFILE | AAC低延迟规格。 | 422| AAC_ELD_PROFILE | AAC增强型低延迟规格。 | 423| AVC_BASELINE_PROFILE | H.264低规格。 | 424| AVC_MAIN_PROFILE | H.264主规格。 | 425| AVC_HIGH_PROFILE | H.264高规格。 | 426| HEVC_MAIN_PROFILE | H.265主规格。 | 427| HEVC_MAIN_10_PROFILE | H.265 10比特主规格。 | 428 429 430### ShareMemTypes 431 432``` 433enum ShareMemTypes 434``` 435 436**描述** 437 438 439枚举共享内存类型。 440 441**起始版本:** 3.2 442 443| 枚举值 | 描述 | 444| -------- | -------- | 445| READ_WRITE_TYPE | 可读可写的共享内存类型。 | 446| READ_ONLY_TYPE | 只读的共享内存类型。 | 447